diff --git a/.github/workflows/testpr.yml b/.github/workflows/testpr.yml index 982d00da..fb937822 100644 --- a/.github/workflows/testpr.yml +++ b/.github/workflows/testpr.yml @@ -173,12 +173,9 @@ jobs: - name: Generate GitHub Actions workflows to catch post-PR problems shell: bash -l {0} run: | - extra_args="" - if [[ "${{ matrix.platform }}" == "win-64" || "${{ matrix.platform }}" == "linux-aarch64" ]]; then - # --batch_size 25 is a workaround for https://github.com/RoboStack/robostack.github.io/issues/105 - extra_args="--batch_size 25" - fi - pixi run vinca-gha --platform ${{ matrix.platform }} --trigger-branch dummy_build_branch_as_it_is_unused -d ./recipes $extra_args + # --batch_size 25 is a workaround for https://github.com/RoboStack/robostack.github.io/issues/105 + # and keeps the generated workflows below GitHub's 500 KiB limit on all platforms + pixi run vinca-gha --platform ${{ matrix.platform }} --trigger-branch dummy_build_branch_as_it_is_unused -d ./recipes --batch_size 25 - name: Upload build cache as artifact # Keep artifacts consistent with the cache: retain partial output from failed or cancelled builds, but not skipped builds. diff --git a/AGENTS.md b/AGENTS.md index c7beb4d1..38db030c 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -208,7 +208,7 @@ pixi run build ## Full rebuilds For full rebuilds also remember: - refresh snapshot: `pixi run create_snapshot` -- update `conda_build_config.yaml` for active migrations. You can use https://github.com/conda-forge/conda-forge-pinning-feedstock/blob/main/recipe/conda_build_config.yaml as a base, and then also apply migrations that are mostly done; you can check the status at https://conda-forge.org/status/. +- update pinning: `conda_build_config.yaml` is generated, do not edit it directly. Run `pixi run vinca-pinning-update --render` to move `vinca_pinning.yaml` to the latest conda-forge pinning and select migrations that are done for our dependencies, then put distro-specific pins under `pinning_overrides` and re-render with `pixi run vinca-pinning-render`. - bump `build_number` - bump mutex minor and update hardcoded mutex refs where needed - clear stale `pkg_additional_info.yaml` build-number overrides unless intentional diff --git a/conda_build_config.yaml b/conda_build_config.yaml index 322d8ba0..0aa93f04 100644 --- a/conda_build_config.yaml +++ b/conda_build_config.yaml @@ -1,94 +1,1188 @@ -numpy: - - 2 -assimp: - - 6.0.5 -asio: - - '1.29' -# Boost 1.90 migration: conda-forge's global pin is still 1.88, but the -# boost-python / geometry stack (eigenpy 3.13, pinocchio, ...) has already -# moved to 1.90, so we pin ahead to build the whole distro against 1.90. -libboost_devel: - - '1.90' -libboost_python_devel: - - '1.90' -libprotobuf: - - 7.35.1 -protobuf: - - 7.35.1 -spdlog: - - 1.17 -pugixml: - - '1.15' -libopencv: - - 4.13.0 -libxml2: - - 2.14.* -graphviz: - - 14.* -libgdal: - - '3.13' -libgdal_core: - - '3.13' -# Mitigation for -# https://github.com/RoboStack/ros-jazzy/pull/126#issuecomment-3515455380 -libcap: - - 2.78 -libtheora: - - '1.2' -fmt: - - 12.1 -lua: - - 5.4 -tbb: - - '2023' -tbb_devel: - - '2023' -jsoncpp: - - 1.9.8 - -# Workaround for https://github.com/RoboStack/ros-jazzy/pull/40#issuecomment-2782226697 -cmake: - - 3.* - -eigen_abi_devel: - - 5.0.1 - - -cdt_name: # [linux] - - conda # [linux] - -python: - - 3.14.* *_cp314 -python_impl: - - cpython - +# Generated by vinca-pinning-render from vinca_pinning.yaml. +# Do not edit this file directly. c_compiler: - gcc # [linux] - clang # [osx] - vs2022 # [win] +# Please remember to update gcc_compiler_version & clang_compiler_version too. c_compiler_version: # [unix] - - 14 # [linux] - - 19 # [osx] + - 15 # [linux] + - 21 # [osx] + - 14 # [linux and (x86_64 or aarch64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] c_stdlib: - sysroot # [linux] - macosx_deployment_target # [osx] - vs # [win] +m2w64_c_stdlib: # [win] + - m2w64-sysroot # [win] +m2w64_c_stdlib_version: # [win] + - 12 # [win] c_stdlib_version: # [unix] - - 2.28 # [linux] - - 11.0 # [osx and x86_64] - - 11.0 # [osx and arm64] + - 2.28 # [linux and not riscv64] + - 2.39 # [linux and riscv64] + - 2.28 # [linux and (x86_64 or aarch64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 14.0 # [osx] cxx_compiler: - gxx # [linux] - clangxx # [osx] - vs2022 # [win] +# Please remember to update gxx_compiler_version & clangxx_compiler_version too. cxx_compiler_version: # [unix] - - 14 # [linux] - - 19 # [osx] + - 15 # [linux] + - 21 # [osx] + - 14 # [linux and (x86_64 or aarch64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] +llvm_openmp: # [osx] + - 21 # [osx] +fortran_compiler: # [unix or win] + - gfortran # [unix] + - flang # [win] +fortran_compiler_version: # [unix or win] + - 15 # [unix] + - 5 # [win64] + - 22 # [win and arm64] + - 14 # [linux and (x86_64 or aarch64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] +m2w64_c_compiler: # [win] + - gcc # [win] +m2w64_c_compiler_version: # [win] + - 15 # [win] +m2w64_cxx_compiler: # [win] + - gxx # [win] +m2w64_cxx_compiler_version: # [win] + - 15 # [win] +m2w64_fortran_compiler: # [win] + - gfortran # [win] +m2w64_fortran_compiler_version: # [win] + - 15 # [win] -libzenohc: - - 1.9.0 -libzenohcxx: - - 1.9.0 +# enable `{{ compiler("gcc") }}`, `{{ compiler("clang") }}` & co. +gcc_compiler: + - gcc +gcc_compiler_version: + - 15 +gxx_compiler: + - gxx +gxx_compiler_version: + - 15 +clang_compiler: + - clang # [unix] + # stay compatible with MSVC + - clang-cl # [win] +clang_compiler_version: + - 21 +clangxx_compiler: + - clangxx # [unix] + # stay compatible with MSVC + - clang-cl # [win] +clangxx_compiler_version: + - 21 + +cuda_compiler: + - cuda-nvcc +cuda_compiler_version: + - None + - 12.9 # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] +cuda_compiler_version_min: + - None # [not ((linux and (x86_64 or aarch64)) or win64)] + - 12.9 # [((linux and (x86_64 or aarch64)) or win64)] + +arm_variant_type: # [aarch64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - sbsa # [aarch64 and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + +_libgcc_mutex: + - 0.1 conda_forge +# +# Go Compiler Options +# + +# The basic go-compiler with CGO disabled, +# It generates fat binaries without libc dependencies +# The activation scripts will set your CC,CXX and related flags +# to invalid values. +go_compiler: + - go-nocgo +# The go compiler build with CGO enabled. +# It can generate fat binaries that depend on conda's libc. +# You should use this compiler if the underlying +# program needs to link against other C libraries, in which +# case make sure to add 'c,cpp,fortran_compiler' for unix +# and the m2w64 equivalent for windows. +cgo_compiler: + - go-cgo +# The following are helpful variables to simplify go meta.yaml files. +target_goos: + - linux # [linux] + - darwin # [osx] + - windows # [win] +target_goarch: + - amd64 # [x86_64] + - arm64 # [arm64 or aarch64] + - ppc64le # [ppc64le] +target_goexe: + - # [unix] + - .exe # [win] +target_gobin: + - ${PREFIX}/bin/ # [unix] + - '%PREFIX%\bin\' # [win] + +# Rust Compiler Options +rust_compiler: + - rust + +# the numbers here are the Darwin Kernel version for macOS 10.9 & 11.0; +# this is used to form our target triple on osx, and nothing else. After +# we bumped the minimum macOS version to 10.13, this was left unchanged, +# since it is not essential, and long-term we'd like to remove the version. +# see https://github.com/conda-forge/conda-forge.github.io/issues/2695 +macos_machine: # [osx] + - x86_64-apple-darwin13.4.0 # [osx and x86_64] + - arm64-apple-darwin20.0.0 # [osx and arm64] + +VERBOSE_AT: + - V=1 +VERBOSE_CM: + - VERBOSE=1 + +cdt_name: # [linux] + - conda # [linux] + +docker_image: # [os.environ.get("BUILD_PLATFORM", "").startswith("linux-")] + # builds on CentOS 7 + - quay.io/condaforge/linux-anvil-x86_64:cos7 # [os.environ.get("BUILD_PLATFORM") == "linux-64" and os.environ.get("DEFAULT_LINUX_VERSION", "alma10") == "cos7"] + - quay.io/condaforge/linux-anvil-aarch64:cos7 # [os.environ.get("BUILD_PLATFORM") == "linux-aarch64" and os.environ.get("DEFAULT_LINUX_VERSION", "alma10") == "cos7"] + - quay.io/condaforge/linux-anvil-ppc64le:cos7 # [os.environ.get("BUILD_PLATFORM") == "linux-ppc64le" and os.environ.get("DEFAULT_LINUX_VERSION", "alma10") == "cos7"] + + # builds on AlmaLinux 8 + - quay.io/condaforge/linux-anvil-x86_64:alma8 # [os.environ.get("BUILD_PLATFORM") == "linux-64" and os.environ.get("DEFAULT_LINUX_VERSION", "alma10") in ("alma8", "ubi8")] + - quay.io/condaforge/linux-anvil-aarch64:alma8 # [os.environ.get("BUILD_PLATFORM") == "linux-aarch64" and os.environ.get("DEFAULT_LINUX_VERSION", "alma10") in ("alma8", "ubi8")] + - quay.io/condaforge/linux-anvil-ppc64le:alma8 # [os.environ.get("BUILD_PLATFORM") == "linux-ppc64le" and os.environ.get("DEFAULT_LINUX_VERSION", "alma10") in ("alma8", "ubi8")] + + # builds on AlmaLinux 9 + - quay.io/condaforge/linux-anvil-x86_64:alma9 # [os.environ.get("BUILD_PLATFORM") == "linux-64" and os.environ.get("DEFAULT_LINUX_VERSION", "alma10") == "alma9"] + - quay.io/condaforge/linux-anvil-aarch64:alma9 # [os.environ.get("BUILD_PLATFORM") == "linux-aarch64" and os.environ.get("DEFAULT_LINUX_VERSION", "alma10") == "alma9"] + - quay.io/condaforge/linux-anvil-ppc64le:alma9 # [os.environ.get("BUILD_PLATFORM") == "linux-ppc64le" and os.environ.get("DEFAULT_LINUX_VERSION", "alma10") == "alma9"] + + # builds on AlmaLinux 10 + - quay.io/condaforge/linux-anvil-x86_64:alma10 # [os.environ.get("BUILD_PLATFORM") == "linux-64" and os.environ.get("DEFAULT_LINUX_VERSION", "alma10") == "alma10"] + - quay.io/condaforge/linux-anvil-aarch64:alma10 # [os.environ.get("BUILD_PLATFORM") == "linux-aarch64" and os.environ.get("DEFAULT_LINUX_VERSION", "alma10") == "alma10"] + - quay.io/condaforge/linux-anvil-ppc64le:alma10 # [os.environ.get("BUILD_PLATFORM") == "linux-ppc64le" and os.environ.get("DEFAULT_LINUX_VERSION", "alma10") == "alma10"] + + # builds on RockyLinux 10 + - quay.io/condaforge/linux-anvil-riscv64:rocky10 # [os.environ.get("BUILD_PLATFORM") == "linux-riscv64"] + +zip_keys: + - - c_compiler_version # [unix] + - cxx_compiler_version # [unix] + - fortran_compiler_version # [unix] + # CUDA 13.x requires newer glibc than our current baseline + - c_stdlib_version # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - cuda_compiler_version # [linux and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - - python + - is_python_min + - - libarrow + - libarrow_all + - - root_base + - root_cxx_standard + - - clhep + - geant4 + +pin_run_as_build: + libblst: + max_pin: x.x + netcdf-cxx4: + max_pin: x.x + vlfeat: + max_pin: x.x.x +# Pinning packages + +# blas +libblas: + - 3.9.* *netlib +libcblas: + - 3.9.* *netlib +liblapack: + - 3.9.* *netlib +liblapacke: + - 3.9.* *netlib +blas_impl: + - openblas + - mkl # [x86 or x86_64] + - blis # [x86 or x86_64] + +ace: + - 8.0.6 +alsa_lib: + - '1.2' +antic: + - 0.2 +aom: + - '3.14' +arb: + - '2.23' +arpack: + - '3.9' +assimp: + - 6 +attr: + - 2.5 +aws_c_auth: + - 0.10.4 +aws_c_cal: + - 0.9.15 +aws_c_common: + - 0.14.3 +aws_c_compression: + - 0.3.2 +aws_c_event_stream: + - 0.7.1 +aws_c_http: + - 0.11.0 +aws_c_io: + - 0.27.5 +aws_c_mqtt: + - 0.16.0 +aws_c_s3: + - 0.13.1 +aws_c_sdkutils: + - 0.2.7 +aws_checksums: + - 0.2.10 +aws_crt_cpp: + - 0.42.3 +aws_sdk_cpp: + - 1.11.833 +azure_core_cpp: + - 1.16.3 +azure_identity_cpp: + - 1.13.3 +azure_storage_blobs_cpp: + - 12.18.0 +azure_storage_common_cpp: + - 12.14.0 +azure_storage_files_datalake_cpp: + - 12.16.0 +azure_storage_files_shares_cpp: + - 12.18.0 +azure_storage_queues_cpp: + - 12.7.0 +brotli: + - '1.2' +bullet_cpp: + - 3.25 +bxdecay0: + - 1.2.0 +bzip2: + - 1 +c_ares: + - 1 +c_blosc2: + - '3.3' +cairo: + - 1 +calchep: + - '3.8' +capnproto: + - 1.5.0 +casadi: + - 3.7 +ccr: + - 1.3 +cfitsio: + - 4.6.4 +clhep: + - 2.4.4.0 + - 2.4.7.1 + - 2.4.7.2 +cmocka: + - 2.0.1 +coin_or_cbc: + - 2.10 +coincbc: + - 2.10 +coin_or_cgl: + - 0.60 +coin_or_clp: + - 1.17 +coin_or_osi: + - 0.108 +coin_or_utils: + - 2.11 +collier: + - '1.2' +console_bridge: + - 1.0 +cran_mirror: + - https://cloud.r-project.org +# match with libcudnn-dev +cudnn: + - '9' +cutensor: + - 2 +curl: + - 8 +dartsim_cpp: + - '6.19' +# Since v1.3.0, the dav1d feedstock has used a sonamed runtime library package to prevent +# ABI breaks while allowing packags built against multiple versions of dav1d to co-exist. +# dav1d: +# - '1.5.4' +davix: + - '0.8' +dbus: + - 1 +dcap: + - 2.47 +delphes: + - 3.5.1 +eclib: + - '20250627' +eigen_abi_devel: + - 5.0.1 +editline: + - '2' +elfutils: + - '0.196' +emela: + - '1.0' +exiv2: + - '0.28' +expat: + - 2 +fastbdt: + - '5.6' +fastjet_contrib: + - '1' +fastjet_cxx: + - '3.5' +feynhiggs: + - '2.19' +ffmpeg: + - '9' +fftw: + - 3 +flann: + - 1.9.2 +flatbuffers: + - 25.9.23 +fmt: + - '12.1' +fontconfig: + - 2 +freetype: + - 2 +gaudi: + - '40.4' +gct: + - 6.2.1705709074 +gf2x: + - '1.3' +gdk_pixbuf: + - 2 +gnuradio_core: + - 3.10.12 +gnutls: + - '3.8' +gsl: + - 2.7 +gsoap: + - 2.8.123 +gstreamer: + - '1.28' +gst_plugins_base: + - '1.28' +gdal: + - '3.13' +libgdal: + - '3.13' +libgdal_core: + - '3.13' +geant4: + - 10.7.4 + - 11.3.2 + - 11.4.2 +geos: + - 3.14.1 +geotiff: + - '1.7' +gfal2: + - '2.23' +gflags: + - '2.3' +giflib: + - '6' +givaro: + - 4.2.2 +glew: + - '2.3' +glib: + - '2' +glog: + - '0.7' +glpk: + - '5.0' +gm2calc: + - '2.3' +gmp: + - 6 +google_cloud_cpp: + - '3.8' +google_cloud_cpp_common: + - 0.25.0 +googleapis_cpp: + - '0.10' +gpgme: + - '1.24' +graphviz: + - '14' +# Harfbuzz guarantees total ABI compatibiblity +# The first version to have this new ABI pin is 11.0.1 +# https://github.com/conda-forge/harfbuzz-feedstock/pull/125 +# But as of 2025/08/03, 11.0.1 is quite "old" and it is pretty safe +# to release the pin +# We are leaving this comment here to discourage others from adding +# a harfbuzz global pin, as it is not needed. +# harfbuzz: +# - '11' +hepmc2: + - '2.06' +hepmc3: + - '3.3' +hdf4: + - 4.2.15 +hdf5: + - '2' + - 1.14.6 +hdrhistogram_c: + - 0.11.10 +icu: + - '78' +idyntree: + - '15' +imath: + - 3.2.2 +impi_devel: + - 2021.16.0 +ipopt: + - 3.14.19 +isl: + - '0.26' +jasper: + - 4 +jpeg: + - 9 +lcms2: + - 2 +lerc: + - '4' +lhapdf: + - '6.5' +libjpeg_turbo: + - '3' +libjxl: + - '0.12' +libev: + - 4.33 +json_c: + - '0.18' +jsoncpp: + - 1.9.8 +kealib: + - '2.0' +krb5: + - '1.22' +ldas_tools_framecpp: + - '2.9' +libabseil: + - 20260526 +libaec: + - '1' +libamd: + - '3' +libarchive: + - '3.8' +libarrow: + - '25.0' + - '24.0' + - '23.0' + - '22.0' +libarrow_all: + - '25.0' + - '24.0' + - '23.0' + - '22.0' +libattr: + - 2.6 +libavif: + - 1 +libblitz: + - 1.0.2 +libblst: + - '0.3' +libboost_devel: + - '1.90' +libboost_headers: + - '1.90' +libboost_python_devel: + - '1.90' +libbrotlicommon: + - '1.2' +libbrotlidec: + - '1.2' +libbrotlienc: + - '1.2' +libbtf: + - '2' +libcamd: + - '3' +libcap: + - '2.78' +libcint: + - '6.1' +libccolamd: + - '3' +libcholmod: + - '5' +libcolamd: + - '3' +libcurl: + - 8 +# match with cudnn +libcudnn_dev: + - '9' +libcrc32c: + - 1.1 +libcxsparse: + - '4' +libdap4: + - 3.20.6 +libdeflate: + - '1.25' +libdovi: + - '3' +libduckdb_devel: + - '1' +libeantic: + - '2' +libedit: + - '3.1' +libevent: + - 2.1.12 +libexactreal: + - '4' +libffi: + - '3.5' +libflac: + - '1.5' +libflatsurf: + - 3 +libflint: + - '3.5' +libframel: + - '8.41' +# hmaarrfk - Aug 30, 2025 +# https://github.com/conda-forge/libfuse-feedstock/pull/29 +# Although some libfuse packages exist with version 3, we decided +# to pin libfuse to 2 to allow co-installation between libfuse (version 2) and libfuse3 +libfuse: + - '2' +libfuse3: + - '3' +libgit2: + - '1.9' +libgoogle_cloud: + - '3.8' +libgoogle_cloud_devel: + - '3.8' +libgoogle_cloud_all_devel: + - '3.8' +libgoogle_cloud_aiplatform_devel: + - '3.8' +libgoogle_cloud_automl_devel: + - '3.8' +libgoogle_cloud_bigquery_devel: + - '3.8' +libgoogle_cloud_bigtable_devel: + - '3.8' +libgoogle_cloud_compute_devel: + - '3.8' +libgoogle_cloud_dialogflow_cx_devel: + - '3.8' +libgoogle_cloud_dialogflow_es_devel: + - '3.8' +libgoogle_cloud_discoveryengine_devel: + - '3.8' +libgoogle_cloud_dlp_devel: + - '3.8' +libgoogle_cloud_iam_devel: + - '3.8' +libgoogle_cloud_oauth2_devel: + - '3.8' +libgoogle_cloud_policytroubleshooter_devel: + - '3.8' +libgoogle_cloud_pubsub_devel: + - '3.8' +libgoogle_cloud_spanner_devel: + - '3.8' +libgoogle_cloud_speech_devel: + - '3.8' +libgoogle_cloud_storage_devel: + - '3.8' +libgrpc: + - '1.82' +libgsasl: + - '2' +libheif: + - '1.23' +libhugetlbfs: + - 2 libhwloc: - 2.13.0 +libhwy: + - '1.4' +libiconv: + - 1 +libidn2: + - 2 +libintervalxt: + - 3 +libitk_devel: + - 5.4 +libklu: + - '2' +libkml: + - 1.3 +libkml_devel: + - 1.3 +liblzma_devel: + - 5 +libiio: + - 0 +libldl: + - '3' +libmagma: + - 2.10.0 +libmagma_devel: + - 2.10.0 +libmagma_sparse: + - 2.10.0 +libmed: + - '4.2' +libmatio: + - 1.5.30 +libmatio_cpp: + - 0.3.0 +libmicrohttpd: + - '1.0' +libnetcdf: + - 4.10.1 +libntlm: + - 1 +libode: + - 0.16.6 +libogg: + - 1.3 +libonnx: + - 1.23.0 +libopencolorio: + - '2.5' +libopenimageio: + - '3.1' +libopencv: + - 5.0.0 +libopentelemetry_cpp: + - '1.27' +libosqp: + - 1.0.0 +libopenvino: + - 2026.4.0 +libopenvino_dev: + - 2026.4.0 +libparu: + - '1' +libpcap: + - '1.10' +libplacebo: + - '7.360' +libpnetcdf: + - 1.15.0 +libpng: + - 1.6 +libprotobuf: + - 7.35.1 +libpq: + - '18' +libpsl: + - '0.23' +libpulsar: + - 4.2.0 +libraqm: + - '0.11' +libraqm_devel: + - '0.11' +libraw: + - '0.22' +librbio: + - '4' +librdkafka: + - '2.15' +librdkit: + - 2026.03.2 +librealsense: + - '2.58' +librerun_sdk: + - 0.35.0 +librsvg: + - 2 +libsecret: + - '0.21' +libsentencepiece: + - 0.2.1 +libsndfile: + - '1.2' +libsodium: + - 1.0.22 +libsoup: + - 3 +libspatialindex: + - 2.1.0 +libspex: + - '3' +libspqr: + - '4' +libsuitesparseconfig: + - '7' +libsuperiso: + - '5.0' +libsrtp2: + - 2.8.1 +libssh: + - '0.12' +libssh2: + - 1 +libsvm: + - '337' +libsqlite: + - 3 +libsystemd: + - '257' +libtensorflow: + - '2.16' +libtensorflow_cc: + - '2.16' +libtheora: + - '1.2' +libthrift: + - 0.22.0 +libtiff: + - '4.7' +libtorch: + - '2.12' +libudev: + - '257' +libumfpack: + - '6' +libunwind: + - '1.8' +libutf8proc: + - '2.11' +libv8: + - 8.9.83 +libvigra: + - '1.12' +libvips: + - 8 +libvpl: + - '2.16' +libwebp: + - 1 +libwebp_base: + - 1 +libx86emu: + - 3.7 +libxcb: + - '1' +libxml2: + - '2.15' +libxml2_devel: + - '2.15' +libxrootd_devel: + - '6' +libxsmm: + - '2' +liburing: + - 2.14 +libuuid: + - 2 +libyarp: + - 3.12.2 +libzip: + - 1 +lmdb: + - '0.9' +log4cxx: + - 1.8.0 +lol_html: + - 3.0.1 +ls_hpack: + - 2.3.5 +lwtnn: + - '2.14' +lz4_c: + - '1.10' +lzo: + - 2 +magma: + - '2.9' +metis: + - 5.1.0 +mimalloc: + - 3.4.1 +mkl: + - '2026' # [not osx] + - '2023' # [osx] +mkl_devel: + - '2026' # [not osx] + - '2023' # [osx] +mpg123: + - '1.33' +mpich: + - 4 +mpfr: + - 4 +mpfun90: + - '2026' +mppp: + - '2.0' +msgpack_c: + - 6 +msgpack_cxx: + - '7' +mumps_mpi: + - 5.8.2 +mumps_seq: + - 5.8.2 +mysql_devel: + - '9.7' +nccl: + - 2 +ncurses: + - 6 +netcdf_cxx4: + - 4.3 +netcdf_fortran: + - '4.6' +nettle: + - '3.10' +ninja_hep_ph: + - '1.2' +nodejs: + - '26' + - '24' +nss: + - 3 +nspr: + - 4 +nlopt: + - '2.11' +ntl: + - 11.6.0 +# we build using the latest minor version; numpy has generous backwards compatibility +# even so, and this is reflected through the run-exports of the package; see also +# https://github.com/conda-forge/conda-forge-pinning-feedstock/issues/4816 +numpy: + - 2 +obake_devel: + - '0.9' +occt: + - 8.0.1 +oneloop: + - '3.7' +openblas: + - 0.3.* +openexr: + - '3.4' +openh264: + - 2.6.0 +openjpeg: + - '2' +openjph: + - '0.31' +openmpi: + - '5' +openslide: + - 4 +# although openssl follows SemVer for ABI/API stability, we stay on +# LTS version at build time to avoid forcing newer version at runtime +openssl: + - '3.5' +orc: + - 2.3.1 +osqp_eigen: + - '0.11' +pango: + - '1' +pari: + - 2.17.* *_pthread +pcl: + - 1.15.1 +perl: + - 5.32.1 +petsc: + - '3.25' +petsc4py: + - '3.25' +plutovg: + - 1.3.3 +plutosvg: + - 0.0.8 +pugixml: + - '1.15' +slepc: + - '3.25' +slepc4py: + - '3.25' +svt_av1: + - 4.2.0 +p11_kit: + - '0.26' +pcre: + - '8' +pcre2: + - '10.47' +pdal: + - '2.10' +libpdal: + - '2.10' +libpdal_core: + - '2.10' +pixman: + - 0 +poco: + - 1.15.3 +poppler: + - '26.07' +portaudio: + - '19.7' +postgresql: + - '18' +postgresql_plpython: + - '18' +proj: + - '9.9' +pulseaudio: + - '17.0' +pulseaudio_client: + - '17.0' +pulseaudio_daemon: + - '17.0' +pybind11_abi: + - 11 +pythia8: + - '8.312' +python: + # conda-forge supports only 3.14+ for win-arm64 and linux-riscv64 + # part of a zip_keys: python, is_python_min + - 3.14.* *_cp314 +python_impl: + - cpython +python_min: + # minimum supported python version per CFEP-25 + # bump to next minor version when we drop python versions + - '3.11' # [not ((win and arm64) or riscv64)] + - '3.14' # [(win and arm64) or riscv64] +is_freethreading: + - false +is_python_min: + # part of a zip_keys: python, is_python_min + - false +is_abi3: + - true +pytorch: + - '2.12' +pyqt: + - 5.15 +pyqtwebengine: + - 5.15 +pyqtchart: + - 5.15 +qcdloop: + - '2.1' +qhull: + - 2020.2 +qpdf: + - '12' +qt: + - 5.15 +qt_main: + - 5.15 +qt6_main: + - '6' +qtkeychain: + - '0.17' +rav1e: + - '0.8' +rdma_core: + - '65' +re2: + - 2025.11.05 +readline: + - '8' +rivet: + - '4.1' +rocksdb: + - '11.0' +root_base: + - 6.36.10 + - 6.38.4 + - 6.38.4 + - 6.40.2 + - 6.40.2 +root_cxx_standard: + - 20 + - 20 + - 23 + - 20 + - 23 +r_base: + - 4.4 + - 4.5 +libscotch: + - 7.0.11 +libptscotch: + - 7.0.11 +scotch: + - 7.0.11 +ptscotch: + - 7.0.11 +s2geography: + - 0.1.2 +s2geometry: + - '0.14' +s2n: + - 1.7.6 +sdl2: + - '2' +sdl2_image: + - '2' +sdl2_mixer: + - '2' +sdl2_net: + - '2' +sdl2_ttf: + - '2' +shaderc: + - '2026.3' +sherpa: + - '3.0' +singular: + - 4.4.1 +siscone: + - '3.1' +snappy: + - 1.2 +soapysdr: + - '0.8' +softsusy: + - '4.1' +sox: + - 14.4.2 +spdlog: + - '1.17' +spirv_tools: + - '2026' +sqlite: + - 3 +srm_ifce: + - 1.24.6 +starlink_ast: + - 9.3.1 +suitesparse: + - '7' +suitesparse_mongoose: + - '3' +sundials: + - '7.8' +superlu_dist: + - '9' +swig_abi: + - '5' +tbb: + - '2023' +tbb_devel: + - '2023' +tensorflow: + - '2.16' +thrift_cpp: + - 0.22.0 +tinyxml2: + - '11.0' +tk: + - 8.6 # [not ppc64le] +tiledb: + - '2.30' +ucc: + - 1 +ucx: + - '1.22' +uhd: + - 4.11.0 +unibilium: + - 2.1.4 +urdfdom: + - '6' +vc: # [win] + - 14 # [win] +vgm: + - '5.4' +vigra: + - '1.12' +vlfeat: + - 0.9.21 +vmc: + - '2.2' +volk: + - '3.3' +vtk: + - 9.7.0 +vtk_base: + - 9.7.0 +wcslib: + - '8' +wxwidgets: + - 3.3.3 +x264: + - 1!164.* +x265: + - '3.5' +xerces_c: + - '3.3' +xrootd: + - '6' +xxhash: + - 0.8.3 +xz: + - 5 +yoda: + - '2.1' +zeromq: + - 4.3.5 +zfp: + - 1.0 +zlib: + - 1 +zlib_ng: + - '2.3' +zstd: + - '1.5' +libzenohc: + - 1.10.1 +libzenohcxx: + - 1.10.1 + # cartographer was built with lua 5.4.8, otherwise it pulls in 5.5 which leads to conflicts +lua: + - 5.4 + # conda-forge published sip 6.16.1 on 2026-09-08, which broke ABI targeting for + # packages like qt_gui_cpp_sip that build against PyQt-sip's fixed ABI v12. + # Pin back to the last known-good line until upstream fixes it. +sip: + - 6.15 diff --git a/patch/dependencies.yaml b/patch/dependencies.yaml index 416fc83b..9fd6c2c1 100644 --- a/patch/dependencies.yaml +++ b/patch/dependencies.yaml @@ -309,7 +309,7 @@ grid_map_octomap: py_trees: add_host: ["hatchling"] py_trees_js: - add_host: ["poetry-core"] + add_host: ["hatchling"] py_trees_ros: add_host: ["poetry-core"] py_trees_ros_viewer: diff --git a/patch/ros-lyrical-ament-cmake-python.patch b/patch/ros-lyrical-ament-cmake-python.patch new file mode 100644 index 00000000..836332bc --- /dev/null +++ b/patch/ros-lyrical-ament-cmake-python.patch @@ -0,0 +1,24 @@ +diff --git a/cmake/ament_python_install_module.cmake b/cmake/ament_python_install_module.cmake +index 6d61edc..ed972cf 100644 +--- a/cmake/ament_python_install_module.cmake ++++ b/cmake/ament_python_install_module.cmake +@@ -60,6 +60,7 @@ function(_ament_cmake_python_install_module module_file) + get_filename_component(module_file "${module_file}" NAME) + if(NOT ARG_SKIP_COMPILE) + get_executable_path(python_interpreter Python3::Interpreter CONFIGURE) ++ string(REPLACE "\\" "/" python_interpreter "${python_interpreter}") + # compile Python files + install(CODE + "execute_process( +diff --git a/cmake/ament_python_install_registered_packages.cmake b/cmake/ament_python_install_registered_packages.cmake +index 305d92f..dd4f7de 100644 +--- a/cmake/ament_python_install_registered_packages.cmake ++++ b/cmake/ament_python_install_registered_packages.cmake +@@ -167,6 +167,7 @@ endmacro() + + macro(_ament_cmake_python_byte_compile package_name) + get_executable_path(python_interpreter_config Python3::Interpreter CONFIGURE) ++ string(REPLACE "\\" "/" python_interpreter_config "${python_interpreter_config}") + # compile Python files + install(CODE + "execute_process( diff --git a/patch/ros-lyrical-apriltag-mit.patch b/patch/ros-lyrical-apriltag-mit.patch new file mode 100644 index 00000000..c051ce44 --- /dev/null +++ b/patch/ros-lyrical-apriltag-mit.patch @@ -0,0 +1,51 @@ +diff -ruN a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -12,12 +12,20 @@ + # set(CMAKE_CXX_CLANG_TIDY clang-tidy) + + find_package(Eigen3 REQUIRED) +-find_package(OpenCV REQUIRED core calib3d) ++find_package(OpenCV REQUIRED core imgproc) ++if(OpenCV_VERSION VERSION_LESS 5) ++ find_package(OpenCV REQUIRED calib3d) ++ set(APRILTAG_MIT_OPENCV_CALIB opencv_calib3d) ++else() ++ # OpenCV 5 moved findHomography into the geometry module ++ find_package(OpenCV REQUIRED geometry) ++ set(APRILTAG_MIT_OPENCV_CALIB opencv_geometry) ++endif() + find_package(Boost REQUIRED headers) + + file(GLOB CC_FILES ${PROJECT_SOURCE_DIR}/src/*.cc) + add_library(${PROJECT_NAME} SHARED ${CC_FILES}) +-target_link_libraries(${PROJECT_NAME} PUBLIC opencv_core opencv_calib3d Eigen3::Eigen Boost::headers) ++target_link_libraries(${PROJECT_NAME} PUBLIC opencv_core opencv_imgproc ${APRILTAG_MIT_OPENCV_CALIB} Eigen3::Eigen Boost::headers) + set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 14) + + target_include_directories( +diff -ruN a/src/Quad.cc b/src/Quad.cc +--- a/src/Quad.cc ++++ b/src/Quad.cc +@@ -2,7 +2,7 @@ + #include "apriltag_mit/AprilTags/Line2D.h" + #include "apriltag_mit/AprilTags/MathUtil.h" + #include "apriltag_mit/AprilTags/Segment.h" +-#include ++#include + + namespace AprilTags { + +diff -ruN a/src/TagDetection.cc b/src/TagDetection.cc +--- a/src/TagDetection.cc ++++ b/src/TagDetection.cc +@@ -1,6 +1,9 @@ + #include "apriltag_mit/AprilTags/TagDetection.h" + #include "apriltag_mit/AprilTags/MathUtil.h" + #include "opencv2/opencv.hpp" ++#if CV_VERSION_MAJOR >= 5 ++#include ++#endif + #include + + namespace AprilTags { diff --git a/patch/ros-lyrical-apriltag-ros.patch b/patch/ros-lyrical-apriltag-ros.patch index 58bbb976..45c4480c 100644 --- a/patch/ros-lyrical-apriltag-ros.patch +++ b/patch/ros-lyrical-apriltag-ros.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 75d5822..ff9d333 100644 +index 75d5822..cbb5971 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,8 +5,10 @@ project(apriltag_ros) @@ -15,3 +15,29 @@ index 75d5822..ff9d333 100644 endif() option(ASAN "use AddressSanitizer to detect memory issues" OFF) +@@ -41,7 +43,15 @@ find_package(image_transport REQUIRED) + find_package(cv_bridge REQUIRED) + find_package(Eigen3 REQUIRED NO_MODULE) + find_package(Threads REQUIRED) +-find_package(OpenCV REQUIRED COMPONENTS core calib3d) ++find_package(OpenCV REQUIRED COMPONENTS core) ++if(OpenCV_VERSION_MAJOR GREATER 4) ++ # calib3d was split into "calib" + "geometry" in OpenCV 5. ++ find_package(OpenCV REQUIRED COMPONENTS calib geometry) ++ set(APRILTAG_ROS_OPENCV_CALIB_LIBS opencv_calib opencv_geometry) ++else() ++ find_package(OpenCV REQUIRED COMPONENTS calib3d) ++ set(APRILTAG_ROS_OPENCV_CALIB_LIBS opencv_calib3d) ++endif() + find_package(apriltag 3.2 REQUIRED) + + if(cv_bridge_VERSION VERSION_GREATER_EQUAL 3.3.0) +@@ -98,7 +108,7 @@ target_link_libraries(pose_estimation + PUBLIC + apriltag::apriltag + Eigen3::Eigen +- opencv_calib3d ++ ${APRILTAG_ROS_OPENCV_CALIB_LIBS} + conversion + ${geometry_msgs_TARGETS} + tf2::tf2 diff --git a/patch/ros-lyrical-compressed-image-transport.patch b/patch/ros-lyrical-compressed-image-transport.patch new file mode 100644 index 00000000..ee6e96ce --- /dev/null +++ b/patch/ros-lyrical-compressed-image-transport.patch @@ -0,0 +1,38 @@ +diff -ruN a/src/compressed_subscriber.cpp b/src/compressed_subscriber.cpp +--- a/src/compressed_subscriber.cpp ++++ b/src/compressed_subscriber.cpp +@@ -140,28 +140,28 @@ + if (compressed_bgr_image) { + // if necessary convert colors from bgr to rgb + if ((image_encoding == enc::RGB8) || (image_encoding == enc::RGB16)) { +- cv::cvtColor(cv_ptr->image, cv_ptr->image, CV_BGR2RGB); ++ cv::cvtColor(cv_ptr->image, cv_ptr->image, cv::COLOR_BGR2RGB); + } + + if ((image_encoding == enc::RGBA8) || (image_encoding == enc::RGBA16)) { +- cv::cvtColor(cv_ptr->image, cv_ptr->image, CV_BGR2RGBA); ++ cv::cvtColor(cv_ptr->image, cv_ptr->image, cv::COLOR_BGR2RGBA); + } + + if ((image_encoding == enc::BGRA8) || (image_encoding == enc::BGRA16)) { +- cv::cvtColor(cv_ptr->image, cv_ptr->image, CV_BGR2BGRA); ++ cv::cvtColor(cv_ptr->image, cv_ptr->image, cv::COLOR_BGR2BGRA); + } + } else { + // if necessary convert colors from rgb to bgr + if ((image_encoding == enc::BGR8) || (image_encoding == enc::BGR16)) { +- cv::cvtColor(cv_ptr->image, cv_ptr->image, CV_RGB2BGR); ++ cv::cvtColor(cv_ptr->image, cv_ptr->image, cv::COLOR_RGB2BGR); + } + + if ((image_encoding == enc::BGRA8) || (image_encoding == enc::BGRA16)) { +- cv::cvtColor(cv_ptr->image, cv_ptr->image, CV_RGB2BGRA); ++ cv::cvtColor(cv_ptr->image, cv_ptr->image, cv::COLOR_RGB2BGRA); + } + + if ((image_encoding == enc::RGBA8) || (image_encoding == enc::RGBA16)) { +- cv::cvtColor(cv_ptr->image, cv_ptr->image, CV_RGB2RGBA); ++ cv::cvtColor(cv_ptr->image, cv_ptr->image, cv::COLOR_RGB2RGBA); + } + } + } diff --git a/patch/ros-lyrical-cv-bridge.patch b/patch/ros-lyrical-cv-bridge.patch new file mode 100644 index 00000000..87d014aa --- /dev/null +++ b/patch/ros-lyrical-cv-bridge.patch @@ -0,0 +1,52 @@ +diff -ruN a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -51,6 +51,15 @@ + CONFIG + ) + if(NOT OpenCV_FOUND) ++ find_package(OpenCV 5 QUIET ++ COMPONENTS ++ opencv_core ++ opencv_imgproc ++ opencv_imgcodecs ++ CONFIG ++ ) ++endif() ++if(NOT OpenCV_FOUND) + find_package(OpenCV 3 REQUIRED + COMPONENTS + opencv_core +diff -ruN a/include/cv_bridge/cv_bridge.hpp b/include/cv_bridge/cv_bridge.hpp +--- a/include/cv_bridge/cv_bridge.hpp ++++ b/include/cv_bridge/cv_bridge.hpp +@@ -42,7 +42,6 @@ + #include + #include + #include +-#include + #include + + #include +diff -ruN a/src/module_opencv4.cpp b/src/module_opencv4.cpp +--- a/src/module_opencv4.cpp ++++ b/src/module_opencv4.cpp +@@ -2,7 +2,6 @@ + + #include "module.hpp" + +-#include "opencv2/core/types_c.h" + + #include "opencv2/opencv_modules.hpp" + +@@ -99,8 +98,8 @@ + NumpyAllocator() {stdAllocator = Mat::getStdAllocator();} + ~NumpyAllocator() {} + +-// To compile openCV3 with OpenCV4 APIs. +-#ifndef OPENCV_VERSION_4 ++// To compile openCV3 with OpenCV4/5 APIs. ++#if CV_MAJOR_VERSION < 4 + #define AccessFlag int + #endif + diff --git a/patch/ros-lyrical-depth-image-proc.patch b/patch/ros-lyrical-depth-image-proc.patch index f692430a..bd2aabda 100644 --- a/patch/ros-lyrical-depth-image-proc.patch +++ b/patch/ros-lyrical-depth-image-proc.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5ed278fe..043f6526 100644 +index ea78923..a46f34d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,12 +13,7 @@ endif() @@ -16,3 +16,25 @@ index 5ed278fe..043f6526 100644 find_package(OpenCV REQUIRED) +diff --git a/src/crop_foremost.cpp b/src/crop_foremost.cpp +index 25eaea6..44037eb 100644 +--- a/src/crop_foremost.cpp ++++ b/src/crop_foremost.cpp +@@ -136,7 +136,7 @@ void CropForemostNode::depthCb(const sensor_msgs::msg::Image::ConstSharedPtr & r + case CV_8UC1: + case CV_8SC1: + case CV_32F: +- cv::threshold(cv_ptr->image, cv_ptr->image, minVal + distance_, 0, CV_THRESH_TOZERO_INV); ++ cv::threshold(cv_ptr->image, cv_ptr->image, minVal + distance_, 0, cv::THRESH_TOZERO_INV); + break; + case CV_16UC1: + case CV_16SC1: +@@ -144,7 +144,7 @@ void CropForemostNode::depthCb(const sensor_msgs::msg::Image::ConstSharedPtr & r + case CV_64F: + // 8 bit or 32 bit floating array is required to use cv::threshold + cv_ptr->image.convertTo(cv_ptr->image, CV_32F); +- cv::threshold(cv_ptr->image, cv_ptr->image, minVal + distance_, 1, CV_THRESH_TOZERO_INV); ++ cv::threshold(cv_ptr->image, cv_ptr->image, minVal + distance_, 1, cv::THRESH_TOZERO_INV); + + cv_ptr->image.convertTo(cv_ptr->image, imtype); + break; diff --git a/patch/ros-lyrical-image-geometry.patch b/patch/ros-lyrical-image-geometry.patch new file mode 100644 index 00000000..267b14f9 --- /dev/null +++ b/patch/ros-lyrical-image-geometry.patch @@ -0,0 +1,33 @@ +diff -ruN a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -15,7 +15,7 @@ + add_compile_options(-Wall -Wextra) + endif() + +-find_package(OpenCV REQUIRED COMPONENTS calib3d core highgui imgproc) ++find_package(OpenCV REQUIRED COMPONENTS calib core highgui imgproc) + find_package(sensor_msgs REQUIRED) + + add_library(${PROJECT_NAME} +@@ -26,7 +26,7 @@ + "$" + "$") + target_link_libraries(${PROJECT_NAME} PUBLIC +- opencv_calib3d ++ opencv_calib + opencv_core + opencv_highgui + opencv_imgproc +diff -ruN a/include/image_geometry/pinhole_camera_model.hpp b/include/image_geometry/pinhole_camera_model.hpp +--- a/include/image_geometry/pinhole_camera_model.hpp ++++ b/include/image_geometry/pinhole_camera_model.hpp +@@ -6,7 +6,7 @@ + #include + #include + #include +-#include ++#include + #include + #include + #include diff --git a/patch/ros-lyrical-image-proc.patch b/patch/ros-lyrical-image-proc.patch new file mode 100644 index 00000000..46f64349 --- /dev/null +++ b/patch/ros-lyrical-image-proc.patch @@ -0,0 +1,108 @@ +diff -ruN a/include/image_proc/track_marker.hpp b/include/image_proc/track_marker.hpp +--- a/include/image_proc/track_marker.hpp ++++ b/include/image_proc/track_marker.hpp +@@ -36,7 +36,11 @@ + + #include + #include ++#if CV_VERSION_MAJOR >= 5 ++#include ++#else + #include ++#endif + #include + #include + #include +@@ -60,6 +64,9 @@ + + cv::Ptr detector_params_; + cv::Ptr dictionary_; ++#if CV_VERSION_MAJOR >= 5 ++ cv::aruco::ArucoDetector detector_; ++#endif + + void imageCb( + const sensor_msgs::msg::Image::ConstSharedPtr & image_msg, +diff -ruN a/src/crop_non_zero.cpp b/src/crop_non_zero.cpp +--- a/src/crop_non_zero.cpp ++++ b/src/crop_non_zero.cpp +@@ -40,6 +40,9 @@ + + #include + #include ++#if CV_VERSION_MAJOR >= 5 ++#include ++#endif + #include + #include + #include +@@ -112,7 +115,7 @@ + cv_ptr->image.convertTo(m, CV_8U, 255. / ra, -minVal * 255. / ra); + } + +- cv::findContours(m, cnt, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE); ++ cv::findContours(m, cnt, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_NONE); + + if (cnt.empty()) { + RCLCPP_WARN( +diff -ruN a/src/track_marker.cpp b/src/track_marker.cpp +--- a/src/track_marker.cpp ++++ b/src/track_marker.cpp +@@ -39,6 +39,9 @@ + #include + #include + #include ++#if CV_VERSION_MAJOR >= 5 ++#include ++#endif + #include + #include + #include +@@ -75,6 +78,12 @@ + dictionary_ = cv::aruco::getPredefinedDictionary(dict_id); + #endif + ++ #if CV_VERSION_MAJOR >= 5 ++ // OpenCV 5 removed the free cv::aruco::detectMarkers() function in favor of ++ // the ArucoDetector class. ++ detector_ = cv::aruco::ArucoDetector(*dictionary_, *detector_params_); ++ #endif ++ + // Setup lazy subscriber using publisher connection callback + rclcpp::PublisherOptions pub_options; + pub_options.event_callbacks.matched_callback = +@@ -114,7 +123,11 @@ + + std::vector marker_ids; + std::vector> marker_corners; ++ #if CV_VERSION_MAJOR >= 5 ++ detector_.detectMarkers(cv_ptr->image, marker_corners, marker_ids); ++ #else + cv::aruco::detectMarkers(cv_ptr->image, dictionary_, marker_corners, marker_ids); ++ #endif + + for (size_t i = 0; i < marker_ids.size(); ++i) { + if (marker_ids[i] == marker_id_) { +@@ -131,9 +144,22 @@ + cv::Mat dist_coeffs(info_msg->d.size(), 1, CV_64FC1, reinterpret_cast(d.data())); + + // Estimate pose ++ #if CV_VERSION_MAJOR >= 5 ++ // OpenCV 5 removed cv::aruco::estimatePoseSingleMarkers(); solve for the ++ // marker pose directly against its known square corner geometry instead. ++ const std::vector obj_points{ ++ cv::Point3f(-marker_size_ / 2.f, marker_size_ / 2.f, 0), ++ cv::Point3f(marker_size_ / 2.f, marker_size_ / 2.f, 0), ++ cv::Point3f(marker_size_ / 2.f, -marker_size_ / 2.f, 0), ++ cv::Point3f(-marker_size_ / 2.f, -marker_size_ / 2.f, 0)}; ++ cv::Vec3d sp_rvec, sp_tvec; ++ cv::solvePnP(obj_points, corners[0], intrinsics, dist_coeffs, sp_rvec, sp_tvec); ++ std::vector rvecs{sp_rvec}, tvecs{sp_tvec}; ++ #else + std::vector rvecs, tvecs; + cv::aruco::estimatePoseSingleMarkers( + corners, marker_size_, intrinsics, dist_coeffs, rvecs, tvecs); ++ #endif + + // Publish pose of marker + geometry_msgs::msg::PoseStamped pose; diff --git a/patch/ros-lyrical-image-rotate.patch b/patch/ros-lyrical-image-rotate.patch new file mode 100644 index 00000000..bdc102c8 --- /dev/null +++ b/patch/ros-lyrical-image-rotate.patch @@ -0,0 +1,34 @@ +diff -ruN a/CMakeLists.txt b/CMakeLists.txt +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -14,9 +14,16 @@ + ament_auto_find_build_dependencies() + + find_package(OpenCV REQUIRED core imgproc) ++if(OpenCV_VERSION VERSION_LESS 5) ++ set(IMAGE_ROTATE_OPENCV_GEOMETRY) ++else() ++ # OpenCV 5 moved getRotationMatrix2D into the geometry module ++ find_package(OpenCV REQUIRED geometry) ++ set(IMAGE_ROTATE_OPENCV_GEOMETRY opencv_geometry) ++endif() + + ament_auto_add_library(${PROJECT_NAME} SHARED src/image_rotate_node.cpp) +-target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBRARIES}) ++target_link_libraries(${PROJECT_NAME} ${OpenCV_LIBRARIES} ${IMAGE_ROTATE_OPENCV_GEOMETRY}) + rclcpp_components_register_nodes(${PROJECT_NAME} "${PROJECT_NAME}::ImageRotateNode") + set(node_plugins "${node_plugins}${PROJECT_NAME}::ImageRotateNode;$\n") + +diff -ruN a/src/image_rotate_node.cpp b/src/image_rotate_node.cpp +--- a/src/image_rotate_node.cpp ++++ b/src/image_rotate_node.cpp +@@ -54,6 +54,9 @@ + #include + #include + #include ++#if CV_VERSION_MAJOR >= 5 ++#include ++#endif + + #include + #include diff --git a/patch/ros-lyrical-lanelet2.patch b/patch/ros-lyrical-lanelet2.patch new file mode 100644 index 00000000..b88068e5 --- /dev/null +++ b/patch/ros-lyrical-lanelet2.patch @@ -0,0 +1,10 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 61caa15..788bdb5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required(VERSION 2.8.12) ++cmake_minimum_required(VERSION 3.5) + project(lanelet2) + if($ENV{ROS_VERSION} EQUAL 1) + find_package(catkin REQUIRED) diff --git a/patch/ros-lyrical-moveit-ros-perception.patch b/patch/ros-lyrical-moveit-ros-perception.patch new file mode 100644 index 00000000..3edfb2a1 --- /dev/null +++ b/patch/ros-lyrical-moveit-ros-perception.patch @@ -0,0 +1,37 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 761d53c8..0467358e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -5,6 +5,15 @@ project(moveit_ros_perception LANGUAGES CXX) + find_package(moveit_common REQUIRED) + moveit_package() + ++# MSVC reports the pre-C++11 __cplusplus value (199711L) by default ++# regardless of the actual /std: flag, unless this is set -- several ++# files here (e.g. lazy_free_space_updater.hpp) branch on ++# __cplusplus >= 201103L and fall through to removed std::tr1 types ++# without it. ++if(MSVC) ++ add_compile_options(/Zc:__cplusplus) ++endif() ++ + option(WITH_OPENGL "Build the parts that depend on OpenGL" ON) + + if(WITH_OPENGL) + +diff --git a/semantic_world/src/semantic_world.cpp b/semantic_world/src/semantic_world.cpp +index fb9b659b..cdddabf4 100644 +--- a/semantic_world/src/semantic_world.cpp ++++ b/semantic_world/src/semantic_world.cpp +@@ -43,6 +43,10 @@ + #include + // OpenCV + #include ++#if CV_MAJOR_VERSION >= 5 ++// pointPolygonTest moved to the geometry module in OpenCV 5. ++#include ++#endif + #include + #include + #include + diff --git a/patch/ros-lyrical-mrt-cmake-modules.patch b/patch/ros-lyrical-mrt-cmake-modules.patch index 3a58f235..4dc390f3 100644 --- a/patch/ros-lyrical-mrt-cmake-modules.patch +++ b/patch/ros-lyrical-mrt-cmake-modules.patch @@ -12,11 +12,12 @@ index 409cfaf..a3d9984 100644 if(_python_version VERSION_EQUAL 3 AND CMAKE_VERSION VERSION_GREATER 3.15) # we also need the subversion diff --git a/CMakeLists.txt b/CMakeLists.txt -index aa99d8d..8327d4e 100644 +index aa99d8d..cfbb55f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ - cmake_minimum_required(VERSION 3.0.2) +-cmake_minimum_required(VERSION 3.0.2) ++cmake_minimum_required(VERSION 3.5) project(mrt_cmake_modules) -if($ENV{ROS_VERSION} EQUAL 1) diff --git a/patch/ros-lyrical-nav2-map-server.patch b/patch/ros-lyrical-nav2-map-server.patch index d55c57ac..11b9c03b 100644 --- a/patch/ros-lyrical-nav2-map-server.patch +++ b/patch/ros-lyrical-nav2-map-server.patch @@ -1,30 +1,20 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4f199df51..b367da68c 100644 +index 52ff964..69bb6b5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -12,7 +12,6 @@ find_package(nav_msgs REQUIRED) - find_package(nav2_common REQUIRED) - find_package(nav2_msgs REQUIRED) - find_package(nav2_util REQUIRED) --find_package(PkgConfig REQUIRED) - find_package(rclcpp REQUIRED) - find_package(rclcpp_components REQUIRED) - find_package(rclcpp_lifecycle REQUIRED) -@@ -24,7 +23,12 @@ find_package(yaml_cpp_vendor REQUIRED) +@@ -23,7 +23,9 @@ find_package(yaml_cpp_vendor REQUIRED) find_package(yaml-cpp REQUIRED) find_package(Eigen3 REQUIRED) --pkg_search_module(UUID REQUIRED uuid) +-if(UNIX AND NOT APPLE) +if(WIN32) + set(UUID_LIBRARIES Rpcrt4.lib) +elseif(UNIX AND NOT APPLE) -+ find_package(PkgConfig REQUIRED) -+ pkg_search_module(UUID REQUIRED uuid) -+endif() - - nav2_package() - -@@ -94,5 +98,8 @@ add_library(${vo_library_name} SHARED + find_package(PkgConfig REQUIRED) + pkg_search_module(UUID REQUIRED uuid) + endif() +@@ -96,6 +98,9 @@ target_link_libraries(${library_name} PRIVATE + add_library(${vo_library_name} SHARED src/vo_server/vector_object_shapes.cpp src/vo_server/vector_object_server.cpp) +if(WIN32) @@ -35,7 +25,7 @@ index 4f199df51..b367da68c 100644 "$" diff --git a/include/nav2_map_server/uuid.hpp b/include/nav2_map_server/uuid.hpp new file mode 100644 -index 000000000..8f67f9f6b +index 0000000..8f67f9f --- /dev/null +++ b/include/nav2_map_server/uuid.hpp @@ -0,0 +1,125 @@ @@ -165,7 +155,7 @@ index 000000000..8f67f9f6b + +#endif // NAV2_MAP_SERVER__UUID_HPP_ diff --git a/include/nav2_map_server/vector_object_utils.hpp b/include/nav2_map_server/vector_object_utils.hpp -index f478f71b3..06f23ce24 100644 +index 19bbdb6..3b27189 100644 --- a/include/nav2_map_server/vector_object_utils.hpp +++ b/include/nav2_map_server/vector_object_utils.hpp @@ -15,7 +15,6 @@ @@ -203,7 +193,7 @@ index f478f71b3..06f23ce24 100644 /// @brief Type of overlay between different vector objects and map diff --git a/src/vo_server/vector_object_shapes.cpp b/src/vo_server/vector_object_shapes.cpp -index af85a4265..19c9e8a71 100644 +index 7ba886f..8bab809 100644 --- a/src/vo_server/vector_object_shapes.cpp +++ b/src/vo_server/vector_object_shapes.cpp @@ -14,7 +14,6 @@ @@ -211,10 +201,10 @@ index af85a4265..19c9e8a71 100644 #include "nav2_map_server/vector_object_shapes.hpp" -#include + #include #include #include - #include -@@ -29,6 +28,7 @@ +@@ -31,6 +30,7 @@ #include "nav2_util/raytrace_line_2d.hpp" #include "nav2_util/robot_utils.hpp" #include "nav2_ros_common/tf2_factories.hpp" @@ -222,7 +212,7 @@ index af85a4265..19c9e8a71 100644 namespace nav2_map_server { -@@ -58,7 +58,7 @@ bool Shape::obtainShapeUUID(const std::string & shape_name, unsigned char * out_ +@@ -156,7 +156,7 @@ bool Shape::obtainShapeUUID(const std::string & shape_name, unsigned char * out_ // Try to get shape UUID from ROS-parameters std::string uuid_str = nav2::declare_or_get_parameter( node, shape_name + ".uuid"); @@ -231,7 +221,7 @@ index af85a4265..19c9e8a71 100644 RCLCPP_ERROR( node->get_logger(), "[%s] Can not parse UUID string for shape: %s", -@@ -67,14 +67,13 @@ bool Shape::obtainShapeUUID(const std::string & shape_name, unsigned char * out_ +@@ -165,14 +165,13 @@ bool Shape::obtainShapeUUID(const std::string & shape_name, unsigned char * out_ } } catch (const std::exception &) { // If no UUID was specified, generate a new one @@ -249,7 +239,7 @@ index af85a4265..19c9e8a71 100644 } return true; -@@ -106,7 +105,7 @@ std::string Polygon::getUUID() const +@@ -204,7 +203,7 @@ std::string Polygon::getUUID() const bool Polygon::isUUID(const unsigned char * uuid) const { @@ -258,7 +248,7 @@ index af85a4265..19c9e8a71 100644 } bool Polygon::isFill() const -@@ -190,8 +189,8 @@ bool Polygon::setParams(const nav2_msgs::msg::PolygonObject::SharedPtr params) +@@ -288,8 +287,8 @@ bool Polygon::setParams(const nav2_msgs::msg::PolygonObject::SharedPtr params) polygon_->points = params_->points; // If no UUID was specified, generate a new one @@ -269,7 +259,7 @@ index af85a4265..19c9e8a71 100644 } return checkConsistency(); -@@ -320,7 +319,7 @@ std::string Circle::getUUID() const +@@ -447,7 +446,7 @@ std::string Circle::getUUID() const bool Circle::isUUID(const unsigned char * uuid) const { @@ -278,7 +268,7 @@ index af85a4265..19c9e8a71 100644 } bool Circle::isFill() const -@@ -403,8 +402,8 @@ bool Circle::setParams(const nav2_msgs::msg::CircleObject::SharedPtr params) +@@ -530,8 +529,8 @@ bool Circle::setParams(const nav2_msgs::msg::CircleObject::SharedPtr params) *center_ = params_->center; // If no UUID was specified, generate a new one diff --git a/patch/ros-lyrical-robot-localization.win.patch b/patch/ros-lyrical-robot-localization.win.patch index 478e6e5e..6b80ab22 100644 --- a/patch/ros-lyrical-robot-localization.win.patch +++ b/patch/ros-lyrical-robot-localization.win.patch @@ -2,11 +2,12 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt index 0da52adc..35b5b185 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -100,6 +100,8 @@ target_link_libraries(${library_name} PRIVATE +@@ -100,6 +100,9 @@ target_link_libraries(${library_name} PRIVATE ${GeographicLib_LIBRARIES} yaml-cpp::yaml-cpp ) +target_compile_definitions(${library_name} PRIVATE _USE_MATH_DEFINES) ++target_compile_options(${library_name} PRIVATE /bigobj) +set_target_properties(${library_name} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON) add_executable( diff --git a/patch/ros-lyrical-ros-gz-bridge.win.patch b/patch/ros-lyrical-ros-gz-bridge.win.patch index 6d27d622..3042fcfb 100644 --- a/patch/ros-lyrical-ros-gz-bridge.win.patch +++ b/patch/ros-lyrical-ros-gz-bridge.win.patch @@ -1,13 +1,1379 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 4c27d2e97..4902f8b16 100644 +index b949389..9709c7b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt -@@ -8,6 +8,8 @@ if(NOT CMAKE_CXX_STANDARD) - endif() +@@ -9,8 +9,6 @@ endif() if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wpedantic") -+elseif(MSVC) -+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj") endif() - set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) +-set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON) +- + find_package(ament_cmake REQUIRED) + find_package(rclcpp REQUIRED) + find_package(rclcpp_components REQUIRED) +@@ -99,6 +97,13 @@ add_library(${bridge_lib} + ${generated_files} + ) + ++include(GenerateExportHeader) ++generate_export_header(${bridge_lib} ++ EXPORT_FILE_NAME ++ "${CMAKE_CURRENT_BINARY_DIR}/include/${PROJECT_NAME}/visibility_control.hpp" ++ EXPORT_MACRO_NAME ROS_GZ_BRIDGE_VISIBLE ++) ++ + target_link_libraries(${bridge_lib} + PUBLIC + gz-msgs::core +@@ -126,14 +131,24 @@ target_link_libraries(${bridge_lib} + target_include_directories(${bridge_lib} + PUBLIC + "$" ++ "$" + "$" + PRIVATE + "$" + "$" + ) + ++# Many tests do not link ${bridge_lib} even if they include its headers, ++# ensure that ${CMAKE_CURRENT_BINARY_DIR}/include that includes the visibility_control.hpp header ++# is properly visible ++include_directories(${CMAKE_CURRENT_BINARY_DIR}/include) ++ + if(MSVC) + target_compile_options(${bridge_lib} PRIVATE "/bigobj") ++ # This is used to ensure that all the heavy-templated tests ++ # defined in this directory use /bigobj, ++ # without the need to manually specify if for each test ++ add_compile_options("/bigobj") + endif() + + rclcpp_components_register_node( +@@ -151,6 +166,11 @@ install( + DESTINATION include/${PROJECT_NAME} + ) + ++install( ++ FILES "${CMAKE_CURRENT_BINARY_DIR}/include/${PROJECT_NAME}/visibility_control.hpp" ++ DESTINATION include/${PROJECT_NAME}/${PROJECT_NAME} ++) ++ + install( + DIRECTORY launch/ + DESTINATION share/${PROJECT_NAME}/launch +diff --git a/include/ros_gz_bridge/bridge_config.hpp b/include/ros_gz_bridge/bridge_config.hpp +index 2687e5c..1e63873 100644 +--- a/include/ros_gz_bridge/bridge_config.hpp ++++ b/include/ros_gz_bridge/bridge_config.hpp +@@ -21,6 +21,8 @@ + + #include + ++#include "ros_gz_bridge/visibility_control.hpp" ++ + namespace ros_gz_bridge + { + +@@ -49,9 +51,9 @@ static constexpr BridgeDirection kDefaultDirection = BridgeDirection::BIDIRECTIO + /// \param[in] qos_profile Uppercase string, e.g. "SENSOR_DATA". + /// \return The corresponding QoS profile. + /// \throws std::invalid_argument if the profile cannot be parsed. +-rclcpp::QoS parseQoS(const std::string & qos_profile); ++ROS_GZ_BRIDGE_VISIBLE rclcpp::QoS parseQoS(const std::string & qos_profile); + +-struct BridgeConfig ++struct ROS_GZ_BRIDGE_VISIBLE BridgeConfig + { + /// \brief The ROS message type (eg std_msgs/msg/String) + std::string ros_type_name; +@@ -105,12 +107,12 @@ struct BridgeConfig + /// \brief Generate a group of BridgeConfigs from a YAML String + /// \param[in] data string containing YAML of bridge configurations + /// \return Vector of bridge configurations +-std::vector readFromYamlString(const std::string & data); ++ROS_GZ_BRIDGE_VISIBLE std::vector readFromYamlString(const std::string & data); + + /// \brief Generate a group of BridgeConfigs from a YAML File + /// \param[in] filename name of file containing YAML of bridge configurations + /// \return Vector of bridge configurations +-std::vector readFromYamlFile(const std::string & filename); ++ROS_GZ_BRIDGE_VISIBLE std::vector readFromYamlFile(const std::string & filename); + + } // namespace ros_gz_bridge + +diff --git a/include/ros_gz_bridge/convert/actuator_msgs.hpp b/include/ros_gz_bridge/convert/actuator_msgs.hpp +index ea4055b..14d27d6 100644 +--- a/include/ros_gz_bridge/convert/actuator_msgs.hpp ++++ b/include/ros_gz_bridge/convert/actuator_msgs.hpp +@@ -27,13 +27,13 @@ namespace ros_gz_bridge + { + // actuator_msgs + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const actuator_msgs::msg::Actuators & ros_msg, + gz::msgs::Actuators & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Actuators & gz_msg, + actuator_msgs::msg::Actuators & ros_msg); +diff --git a/include/ros_gz_bridge/convert/builtin_interfaces.hpp b/include/ros_gz_bridge/convert/builtin_interfaces.hpp +index 04c47ba..c2c06ca 100644 +--- a/include/ros_gz_bridge/convert/builtin_interfaces.hpp ++++ b/include/ros_gz_bridge/convert/builtin_interfaces.hpp +@@ -25,13 +25,13 @@ namespace ros_gz_bridge + { + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const builtin_interfaces::msg::Time & ros_msg, + gz::msgs::Time & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Time & gz_msg, + builtin_interfaces::msg::Time & ros_msg); +diff --git a/include/ros_gz_bridge/convert/geometry_msgs.hpp b/include/ros_gz_bridge/convert/geometry_msgs.hpp +index 6416fa3..960cb20 100644 +--- a/include/ros_gz_bridge/convert/geometry_msgs.hpp ++++ b/include/ros_gz_bridge/convert/geometry_msgs.hpp +@@ -48,193 +48,193 @@ namespace ros_gz_bridge + + // geometry_msgs + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const geometry_msgs::msg::Quaternion & ros_msg, + gz::msgs::Quaternion & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Quaternion & gz_msg, + geometry_msgs::msg::Quaternion & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const geometry_msgs::msg::Vector3 & ros_msg, + gz::msgs::Vector3d & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Vector3d & gz_msg, + geometry_msgs::msg::Vector3 & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const geometry_msgs::msg::Point & ros_msg, + gz::msgs::Vector3d & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Vector3d & gz_msg, + geometry_msgs::msg::Point & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const geometry_msgs::msg::Pose & ros_msg, + gz::msgs::Pose & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Pose & gz_msg, + geometry_msgs::msg::Pose & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const geometry_msgs::msg::PoseArray & ros_msg, + gz::msgs::Pose_V & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Pose_V & gz_msg, + geometry_msgs::msg::PoseArray & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const geometry_msgs::msg::PoseWithCovariance & ros_msg, + gz::msgs::PoseWithCovariance & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::PoseWithCovariance & gz_msg, + geometry_msgs::msg::PoseWithCovarianceStamped & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const geometry_msgs::msg::PoseWithCovarianceStamped & ros_msg, + gz::msgs::PoseWithCovariance & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::PoseWithCovariance & gz_msg, + geometry_msgs::msg::PoseWithCovariance & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const geometry_msgs::msg::PoseStamped & ros_msg, + gz::msgs::Pose & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Pose & gz_msg, + geometry_msgs::msg::PoseStamped & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const geometry_msgs::msg::Transform & ros_msg, + gz::msgs::Pose & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Pose & gz_msg, + geometry_msgs::msg::Transform & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const geometry_msgs::msg::TransformStamped & ros_msg, + gz::msgs::Pose & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Pose & gz_msg, + geometry_msgs::msg::TransformStamped & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const geometry_msgs::msg::Twist & ros_msg, + gz::msgs::Twist & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Twist & gz_msg, + geometry_msgs::msg::Twist & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const geometry_msgs::msg::TwistStamped & ros_msg, + gz::msgs::Twist & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Twist & gz_msg, + geometry_msgs::msg::TwistStamped & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const geometry_msgs::msg::TwistWithCovariance & ros_msg, + gz::msgs::TwistWithCovariance & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::TwistWithCovariance & gz_msg, + geometry_msgs::msg::TwistWithCovariance & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const geometry_msgs::msg::TwistWithCovarianceStamped & ros_msg, + gz::msgs::TwistWithCovariance & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::TwistWithCovariance & gz_msg, + geometry_msgs::msg::TwistWithCovarianceStamped & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const geometry_msgs::msg::Wrench & ros_msg, + gz::msgs::Wrench & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Wrench & gz_msg, + geometry_msgs::msg::Wrench & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const geometry_msgs::msg::WrenchStamped & ros_msg, + gz::msgs::Wrench & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Wrench & gz_msg, + geometry_msgs::msg::WrenchStamped & ros_msg); +diff --git a/include/ros_gz_bridge/convert/gps_msgs.hpp b/include/ros_gz_bridge/convert/gps_msgs.hpp +index d6cf194..fda4568 100644 +--- a/include/ros_gz_bridge/convert/gps_msgs.hpp ++++ b/include/ros_gz_bridge/convert/gps_msgs.hpp +@@ -26,13 +26,13 @@ + namespace ros_gz_bridge + { + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const gps_msgs::msg::GPSFix & ros_msg, + gz::msgs::NavSat & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::NavSat & gz_msg, + gps_msgs::msg::GPSFix & ros_msg); +diff --git a/include/ros_gz_bridge/convert/marine_acoustic_msgs.hpp b/include/ros_gz_bridge/convert/marine_acoustic_msgs.hpp +index ed46e87..f796435 100644 +--- a/include/ros_gz_bridge/convert/marine_acoustic_msgs.hpp ++++ b/include/ros_gz_bridge/convert/marine_acoustic_msgs.hpp +@@ -27,13 +27,13 @@ namespace ros_gz_bridge + { + // marine_acoustic_msgs + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const marine_acoustic_msgs::msg::Dvl & ros_msg, + gz::msgs::DVLVelocityTracking & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::DVLVelocityTracking & gz_msg, + marine_acoustic_msgs::msg::Dvl & ros_msg); +diff --git a/include/ros_gz_bridge/convert/nav_msgs.hpp b/include/ros_gz_bridge/convert/nav_msgs.hpp +index 91c0f1a..fad3eb3 100644 +--- a/include/ros_gz_bridge/convert/nav_msgs.hpp ++++ b/include/ros_gz_bridge/convert/nav_msgs.hpp +@@ -28,25 +28,25 @@ namespace ros_gz_bridge + { + // nav_msgs + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const nav_msgs::msg::Odometry & ros_msg, + gz::msgs::Odometry & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Odometry & gz_msg, + nav_msgs::msg::Odometry & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const nav_msgs::msg::Odometry & ros_msg, + gz::msgs::OdometryWithCovariance & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::OdometryWithCovariance & gz_msg, + nav_msgs::msg::Odometry & ros_msg); +diff --git a/include/ros_gz_bridge/convert/rcl_interfaces.hpp b/include/ros_gz_bridge/convert/rcl_interfaces.hpp +index a81e35a..b7c359d 100644 +--- a/include/ros_gz_bridge/convert/rcl_interfaces.hpp ++++ b/include/ros_gz_bridge/convert/rcl_interfaces.hpp +@@ -29,13 +29,13 @@ namespace ros_gz_bridge + { + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const rcl_interfaces::msg::ParameterValue & ros_msg, + gz::msgs::Any & ign_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Any & ign_msg, + rcl_interfaces::msg::ParameterValue & ros_msg); +diff --git a/include/ros_gz_bridge/convert/ros_gz_interfaces.hpp b/include/ros_gz_bridge/convert/ros_gz_interfaces.hpp +index a869661..1664d53 100644 +--- a/include/ros_gz_bridge/convert/ros_gz_interfaces.hpp ++++ b/include/ros_gz_bridge/convert/ros_gz_interfaces.hpp +@@ -72,296 +72,296 @@ namespace ros_gz_bridge + { + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::JointWrench & ros_msg, + gz::msgs::JointWrench & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::JointWrench & gz_msg, + ros_gz_interfaces::msg::JointWrench & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::AirSpeed & ros_msg, + gz::msgs::AirSpeed & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::AirSpeed & gz_msg, + ros_gz_interfaces::msg::AirSpeed & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::Altimeter & ros_msg, + gz::msgs::Altimeter & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Altimeter & gz_msg, + ros_gz_interfaces::msg::Altimeter & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::Entity & ros_msg, + gz::msgs::Entity & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::Entity & ros_msg, + gz::msgs::Pose & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Entity & gz_msg, + ros_gz_interfaces::msg::Entity & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::EntityFactory & ros_msg, + gz::msgs::EntityFactory & gz_msg); + + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::EntityFactory & gz_msg, + ros_gz_interfaces::msg::EntityFactory & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::EntityWrench & ros_msg, + gz::msgs::EntityWrench & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::EntityWrench & gz_msg, + ros_gz_interfaces::msg::EntityWrench & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::Contact & ros_msg, + gz::msgs::Contact & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Contact & gz_msg, + ros_gz_interfaces::msg::Contact & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::Contacts & ros_msg, + gz::msgs::Contacts & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Contacts & gz_msg, + ros_gz_interfaces::msg::Contacts & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::Dataframe & ros_msg, + gz::msgs::Dataframe & ign_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Dataframe & ign_msg, + ros_gz_interfaces::msg::Dataframe & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::GuiCamera & ros_msg, + gz::msgs::GUICamera & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::GUICamera & gz_msg, + ros_gz_interfaces::msg::GuiCamera & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::Light & ros_msg, + gz::msgs::Light & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Light & gz_msg, + ros_gz_interfaces::msg::Light & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::MaterialColor & ros_msg, + gz::msgs::MaterialColor & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::MaterialColor & gz_msg, + ros_gz_interfaces::msg::MaterialColor & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::SensorNoise & ros_msg, + gz::msgs::SensorNoise & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::SensorNoise & gz_msg, + ros_gz_interfaces::msg::SensorNoise & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::StringVec & ros_msg, + gz::msgs::StringMsg_V & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::StringMsg_V & gz_msg, + ros_gz_interfaces::msg::StringVec & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::ParamVec & ros_msg, + gz::msgs::Param & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Param & gz_msg, + ros_gz_interfaces::msg::ParamVec & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::ParamVec & ros_msg, + gz::msgs::Param_V & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Param_V & gz_msg, + ros_gz_interfaces::msg::ParamVec & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::TrackVisual & ros_msg, + gz::msgs::TrackVisual & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::TrackVisual & gz_msg, + ros_gz_interfaces::msg::TrackVisual & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::VideoRecord & ros_msg, + gz::msgs::VideoRecord & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::VideoRecord & gz_msg, + ros_gz_interfaces::msg::VideoRecord & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::WorldControl & ros_msg, + gz::msgs::WorldControl & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::WorldControl & gz_msg, + ros_gz_interfaces::msg::WorldControl & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::WorldReset & ros_msg, + gz::msgs::WorldReset & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::WorldReset & gz_msg, + ros_gz_interfaces::msg::WorldReset & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::WorldStatistics & gz_msg, + ros_gz_interfaces::msg::WorldStatistics & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::WorldStatistics & ros_msg, + gz::msgs::WorldStatistics & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::Float32Array & ros_msg, + gz::msgs::Float_V & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Float_V & gz_msg, + ros_gz_interfaces::msg::Float32Array & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::LogicalCameraImage & ros_msg, + gz::msgs::LogicalCameraImage & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::LogicalCameraImage & gz_msg, + ros_gz_interfaces::msg::LogicalCameraImage & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ros_gz_interfaces::msg::LogPlaybackStatistics & ros_msg, + gz::msgs::LogPlaybackStatistics & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::LogPlaybackStatistics & gz_msg, + ros_gz_interfaces::msg::LogPlaybackStatistics & ros_msg); +diff --git a/include/ros_gz_bridge/convert/rosgraph_msgs.hpp b/include/ros_gz_bridge/convert/rosgraph_msgs.hpp +index d4d7d51..e8f6af8 100644 +--- a/include/ros_gz_bridge/convert/rosgraph_msgs.hpp ++++ b/include/ros_gz_bridge/convert/rosgraph_msgs.hpp +@@ -27,13 +27,13 @@ namespace ros_gz_bridge + { + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Clock & gz_msg, + rosgraph_msgs::msg::Clock & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const rosgraph_msgs::msg::Clock & ros_msg, + gz::msgs::Clock & gz_msg); +diff --git a/include/ros_gz_bridge/convert/sensor_msgs.hpp b/include/ros_gz_bridge/convert/sensor_msgs.hpp +index 53fc1bc..a1410f7 100644 +--- a/include/ros_gz_bridge/convert/sensor_msgs.hpp ++++ b/include/ros_gz_bridge/convert/sensor_msgs.hpp +@@ -49,133 +49,133 @@ namespace ros_gz_bridge + + // sensor_msgs + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const sensor_msgs::msg::Joy & ros_msg, + gz::msgs::Joy & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Joy & gz_msg, + sensor_msgs::msg::Joy & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const sensor_msgs::msg::FluidPressure & ros_msg, + gz::msgs::FluidPressure & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::FluidPressure & gz_msg, + sensor_msgs::msg::FluidPressure & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const sensor_msgs::msg::Image & ros_msg, + gz::msgs::Image & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Image & gz_msg, + sensor_msgs::msg::Image & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const sensor_msgs::msg::CameraInfo & ros_msg, + gz::msgs::CameraInfo & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::CameraInfo & gz_msg, + sensor_msgs::msg::CameraInfo & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const sensor_msgs::msg::Imu & ros_msg, + gz::msgs::IMU & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::IMU & gz_msg, + sensor_msgs::msg::Imu & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const sensor_msgs::msg::JointState & ros_msg, + gz::msgs::Model & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Model & gz_msg, + sensor_msgs::msg::JointState & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const sensor_msgs::msg::LaserScan & ros_msg, + gz::msgs::LaserScan & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::LaserScan & gz_msg, + sensor_msgs::msg::LaserScan & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const sensor_msgs::msg::MagneticField & ros_msg, + gz::msgs::Magnetometer & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Magnetometer & gz_msg, + sensor_msgs::msg::MagneticField & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const sensor_msgs::msg::NavSatFix & ros_msg, + gz::msgs::NavSat & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::NavSat & gz_msg, + sensor_msgs::msg::NavSatFix & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const sensor_msgs::msg::PointCloud2 & ros_msg, + gz::msgs::PointCloudPacked & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::PointCloudPacked & gz_msg, + sensor_msgs::msg::PointCloud2 & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const sensor_msgs::msg::BatteryState & ros_msg, + gz::msgs::BatteryState & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::BatteryState & gz_msg, + sensor_msgs::msg::BatteryState & ros_msg); +diff --git a/include/ros_gz_bridge/convert/std_msgs.hpp b/include/ros_gz_bridge/convert/std_msgs.hpp +index 78d3f11..652c4f9 100644 +--- a/include/ros_gz_bridge/convert/std_msgs.hpp ++++ b/include/ros_gz_bridge/convert/std_msgs.hpp +@@ -43,109 +43,109 @@ namespace ros_gz_bridge + { + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const std_msgs::msg::Bool & ros_msg, + gz::msgs::Boolean & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Boolean & gz_msg, + std_msgs::msg::Bool & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const std_msgs::msg::ColorRGBA & ros_msg, + gz::msgs::Color & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Color & gz_msg, + std_msgs::msg::ColorRGBA & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const std_msgs::msg::Empty & ros_msg, + gz::msgs::Empty & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Empty & gz_msg, + std_msgs::msg::Empty & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const std_msgs::msg::UInt32 & ros_msg, + gz::msgs::UInt32 & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::UInt32 & gz_msg, + std_msgs::msg::UInt32 & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const std_msgs::msg::Float32 & ros_msg, + gz::msgs::Float & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Float & gz_msg, + std_msgs::msg::Float32 & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const std_msgs::msg::Float64 & ros_msg, + gz::msgs::Double & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Double & gz_msg, + std_msgs::msg::Float64 & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const std_msgs::msg::Header & ros_msg, + gz::msgs::Header & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Header & gz_msg, + std_msgs::msg::Header & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const std_msgs::msg::Int32 & ros_msg, + gz::msgs::Int32 & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Int32 & gz_msg, + std_msgs::msg::Int32 & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const std_msgs::msg::String & ros_msg, + gz::msgs::StringMsg & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::StringMsg & gz_msg, + std_msgs::msg::String & ros_msg); +diff --git a/include/ros_gz_bridge/convert/tf2_msgs.hpp b/include/ros_gz_bridge/convert/tf2_msgs.hpp +index a7df9e0..64f852e 100644 +--- a/include/ros_gz_bridge/convert/tf2_msgs.hpp ++++ b/include/ros_gz_bridge/convert/tf2_msgs.hpp +@@ -27,13 +27,13 @@ namespace ros_gz_bridge + { + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const tf2_msgs::msg::TFMessage & ros_msg, + gz::msgs::Pose_V & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::Pose_V & gz_msg, + tf2_msgs::msg::TFMessage & ros_msg); +diff --git a/include/ros_gz_bridge/convert/trajectory_msgs.hpp b/include/ros_gz_bridge/convert/trajectory_msgs.hpp +index d2120db..4d575d6 100644 +--- a/include/ros_gz_bridge/convert/trajectory_msgs.hpp ++++ b/include/ros_gz_bridge/convert/trajectory_msgs.hpp +@@ -27,25 +27,25 @@ namespace ros_gz_bridge + { + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const trajectory_msgs::msg::JointTrajectoryPoint & ros_msg, + gz::msgs::JointTrajectoryPoint & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::JointTrajectoryPoint & gz_msg, + trajectory_msgs::msg::JointTrajectoryPoint & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const trajectory_msgs::msg::JointTrajectory & ros_msg, + gz::msgs::JointTrajectory & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::JointTrajectory & gz_msg, + trajectory_msgs::msg::JointTrajectory & ros_msg); +diff --git a/include/ros_gz_bridge/convert/vision_msgs.hpp b/include/ros_gz_bridge/convert/vision_msgs.hpp +index b1556f6..4e0c8a2 100644 +--- a/include/ros_gz_bridge/convert/vision_msgs.hpp ++++ b/include/ros_gz_bridge/convert/vision_msgs.hpp +@@ -27,49 +27,49 @@ + namespace ros_gz_bridge + { + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const vision_msgs::msg::Detection2D & ros_msg, + gz::msgs::AnnotatedAxisAligned2DBox & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::AnnotatedAxisAligned2DBox & gz_msg, + vision_msgs::msg::Detection2D & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const vision_msgs::msg::Detection2DArray & ros_msg, + gz::msgs::AnnotatedAxisAligned2DBox_V & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::AnnotatedAxisAligned2DBox_V & gz_msg, + vision_msgs::msg::Detection2DArray & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const vision_msgs::msg::Detection3D & ros_msg, + gz::msgs::AnnotatedOriented3DBox & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::AnnotatedOriented3DBox & gz_msg, + vision_msgs::msg::Detection3D & ros_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const vision_msgs::msg::Detection3DArray & ros_msg, + gz::msgs::AnnotatedOriented3DBox_V & gz_msg); + + template<> +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const gz::msgs::AnnotatedOriented3DBox_V & gz_msg, + vision_msgs::msg::Detection3DArray & ros_msg); +diff --git a/include/ros_gz_bridge/convert_decl.hpp b/include/ros_gz_bridge/convert_decl.hpp +index 3141997..5d2ca98 100644 +--- a/include/ros_gz_bridge/convert_decl.hpp ++++ b/include/ros_gz_bridge/convert_decl.hpp +@@ -15,17 +15,19 @@ + #ifndef ROS_GZ_BRIDGE__CONVERT_DECL_HPP_ + #define ROS_GZ_BRIDGE__CONVERT_DECL_HPP_ + ++#include "ros_gz_bridge/visibility_control.hpp" ++ + namespace ros_gz_bridge + { + + template +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_ros_to_gz( + const ROS_T & ros_msg, + GZ_T & gz_msg); + + template +-void ++ROS_GZ_BRIDGE_VISIBLE void + convert_gz_to_ros( + const GZ_T & gz_msg, + ROS_T & ros_msg); +diff --git a/include/ros_gz_bridge/ros_gz_bridge.hpp b/include/ros_gz_bridge/ros_gz_bridge.hpp +index b1ef76d..24bfaac 100644 +--- a/include/ros_gz_bridge/ros_gz_bridge.hpp ++++ b/include/ros_gz_bridge/ros_gz_bridge.hpp +@@ -23,6 +23,7 @@ + #include + #include + #include "ros_gz_bridge/bridge_config.hpp" ++#include "ros_gz_bridge/visibility_control.hpp" + + namespace ros_gz_bridge + { +@@ -30,7 +31,7 @@ namespace ros_gz_bridge + class BridgeHandle; + + /// \brief Component container for the ROS-GZ Bridge +-class RosGzBridge : public rclcpp::Node ++class ROS_GZ_BRIDGE_VISIBLE RosGzBridge : public rclcpp::Node + { + public: + /// \brief Constructor +diff --git a/src/factory_interface.hpp b/src/factory_interface.hpp +index d1797df..fd6c4f6 100644 +--- a/src/factory_interface.hpp ++++ b/src/factory_interface.hpp +@@ -25,11 +25,12 @@ + #include + + #include "bridge_handle_gz_to_ros_parameters.hpp" ++#include "ros_gz_bridge/visibility_control.hpp" + + namespace ros_gz_bridge + { + +-class FactoryInterface ++class ROS_GZ_BRIDGE_VISIBLE FactoryInterface + { + public: + virtual ~FactoryInterface() = 0; +diff --git a/src/get_factory.hpp b/src/get_factory.hpp +index 6215a02..495b65d 100644 +--- a/src/get_factory.hpp ++++ b/src/get_factory.hpp +@@ -20,16 +20,17 @@ + + #include "factory_interface.hpp" + #include "service_factory_interface.hpp" ++#include "ros_gz_bridge/visibility_control.hpp" + + namespace ros_gz_bridge + { + +-std::shared_ptr ++ROS_GZ_BRIDGE_VISIBLE std::shared_ptr + get_factory( + const std::string & ros_type_name, + const std::string & gz_type_name); + +-std::shared_ptr ++ROS_GZ_BRIDGE_VISIBLE std::shared_ptr + get_service_factory( + const std::string & ros_type_name, + const std::string & gz_req_type_name, +diff --git a/src/get_mappings.hpp b/src/get_mappings.hpp +index f26ae20..1c699cf 100644 +--- a/src/get_mappings.hpp ++++ b/src/get_mappings.hpp +@@ -18,16 +18,18 @@ + #include + #include + ++#include "ros_gz_bridge/visibility_control.hpp" ++ + namespace ros_gz_bridge + { + +-bool ++ROS_GZ_BRIDGE_VISIBLE bool + get_gz_to_ros_mapping(const std::string & gz_type_name, std::string & ros_type_name); + +-bool ++ROS_GZ_BRIDGE_VISIBLE bool + get_ros_to_gz_mapping(const std::string & ros_type_name, std::string & gz_type_name); + +-std::multimap ++ROS_GZ_BRIDGE_VISIBLE std::multimap + get_all_message_mappings_ros_to_gz(); + + } // namespace ros_gz_bridge +diff --git a/src/service_factory_interface.hpp b/src/service_factory_interface.hpp +index 766ce51..afa06e6 100644 +--- a/src/service_factory_interface.hpp ++++ b/src/service_factory_interface.hpp +@@ -23,10 +23,12 @@ + #include + #include + ++#include "ros_gz_bridge/visibility_control.hpp" ++ + namespace ros_gz_bridge + { +-class ServiceFactoryInterface ++class ROS_GZ_BRIDGE_VISIBLE ServiceFactoryInterface + { + public: + virtual ~ServiceFactoryInterface() = 0; diff --git a/patch/ros-lyrical-rosidl-generator-py.osx.patch b/patch/ros-lyrical-rosidl-generator-py.osx.patch deleted file mode 100644 index 9dd87aeb..00000000 --- a/patch/ros-lyrical-rosidl-generator-py.osx.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/cmake/rosidl_generator_py_generate_interfaces.cmake b/cmake/rosidl_generator_py_generate_interfaces.cmake -index de6a6c6..1ae4830 100644 ---- a/cmake/rosidl_generator_py_generate_interfaces.cmake -+++ b/cmake/rosidl_generator_py_generate_interfaces.cmake -@@ -163,7 +163,7 @@ add_dependencies( - target_link_libraries( - ${_target_name_lib} PRIVATE - Python3::NumPy -- Python3::Python -+ Python3::Module - ) - target_include_directories(${_target_name_lib} - PRIVATE diff --git a/patch/ros-lyrical-rosidl-generator-py.patch b/patch/ros-lyrical-rosidl-generator-py.patch new file mode 100644 index 00000000..e6fcb610 --- /dev/null +++ b/patch/ros-lyrical-rosidl-generator-py.patch @@ -0,0 +1,56 @@ +diff --git a/cmake/rosidl_generator_py_generate_interfaces.cmake b/cmake/rosidl_generator_py_generate_interfaces.cmake +index 2fe245b..24eb493 100644 +--- a/cmake/rosidl_generator_py_generate_interfaces.cmake ++++ b/cmake/rosidl_generator_py_generate_interfaces.cmake +@@ -35,6 +35,11 @@ set(Python3_FIND_UNVERSIONED_NAMES FIRST) + + find_package(Python3 REQUIRED COMPONENTS Interpreter Development NumPy) + ++# The Python C bindings library of an interface package is exported in ++# _TARGETS__rosidl_generator_py instead of _TARGETS, so that C/C++ ++# consumers of the interface package don't link it. ++set(rosidl_generator_py_suffix "__rosidl_generator_py") ++ + # Get a list of typesupport implementations from valid rmw implementations. + rosidl_generator_py_get_typesupports(_typesupport_impls) + +@@ -162,10 +167,13 @@ add_dependencies( + ${rosidl_generate_interfaces_TARGET}__rosidl_typesupport_c + ) + ++# This library is only linked by Python extension modules, which get the ++# CPython symbols from the interpreter that loads them, so it links ++# Python3::Module rather than libpython (Python3::Python). + target_link_libraries( + ${_target_name_lib} PRIVATE + Python3::NumPy +- Python3::Python ++ Python3::Module + ) + target_include_directories(${_target_name_lib} + PRIVATE +@@ -257,9 +265,22 @@ if(NOT rosidl_generate_interfaces_SKIP_INSTALL) + LIBRARY DESTINATION lib + RUNTIME DESTINATION bin) + +- # Export this target so downstream interface packages can depend on it ++ # Export this target so downstream interface packages can depend on it, in ++ # _TARGETS__rosidl_generator_py. Not with ament_export_targets(), which ++ # would also add it to _TARGETS: install the export set and include it ++ # from a config extras file instead, which creates the imported target that ++ # rosidl_export_typesupport_targets() adds to the suffixed list. ++ install( ++ EXPORT export_${_target_name_lib} ++ DESTINATION share/${PROJECT_NAME}/cmake ++ NAMESPACE "${PROJECT_NAME}::" ++ FILE "export_${_target_name_lib}Export.cmake") ++ set(_py_extras_file ++ "${CMAKE_CURRENT_BINARY_DIR}/rosidl_generator_py/${_target_name_lib}-extras.cmake") ++ file(WRITE "${_py_extras_file}" ++ "include(\"\${${PROJECT_NAME}_DIR}/export_${_target_name_lib}Export.cmake\")\n") ++ list(APPEND ${PROJECT_NAME}_CONFIG_EXTRAS "${_py_extras_file}") + rosidl_export_typesupport_targets("${rosidl_generator_py_suffix}" "${_target_name_lib}") +- ament_export_targets(export_${_target_name_lib}) + endif() + + if(BUILD_TESTING AND rosidl_generate_interfaces_ADD_LINTER_TESTS) diff --git a/patch/ros-lyrical-rqt-image-view.patch b/patch/ros-lyrical-rqt-image-view.patch new file mode 100644 index 00000000..e320383c --- /dev/null +++ b/patch/ros-lyrical-rqt-image-view.patch @@ -0,0 +1,27 @@ +diff --git a/src/rqt_image_view/image_view.cpp b/src/rqt_image_view/image_view.cpp +index f25f516..03f86d3 100644 +--- a/src/rqt_image_view/image_view.cpp ++++ b/src/rqt_image_view/image_view.cpp +@@ -601,7 +601,7 @@ void ImageView::callbackImage(const sensor_msgs::msg::Image::ConstSharedPtr & ms + conversion_mat_ = cv_ptr->image; + } else if (msg->encoding == "8UC1") { + // convert gray to rgb +- cv::cvtColor(cv_ptr->image, conversion_mat_, CV_GRAY2RGB); ++ cv::cvtColor(cv_ptr->image, conversion_mat_, cv::COLOR_GRAY2RGB); + } else if (msg->encoding == "16UC1" || msg->encoding == "32FC1") { + // scale / quantify + double min = 0; +@@ -625,11 +625,11 @@ void ImageView::callbackImage(const sensor_msgs::msg::Image::ConstSharedPtr & ms + // convert the scaled image to the selected color scheme; + // "Gray" (color scheme = -1) being a special case + if (color_scheme == -1) { +- cv::cvtColor(img_scaled_8u, conversion_mat_, CV_GRAY2RGB); ++ cv::cvtColor(img_scaled_8u, conversion_mat_, cv::COLOR_GRAY2RGB); + } else { + cv::Mat img_color_scheme; + cv::applyColorMap(img_scaled_8u, img_color_scheme, color_scheme); +- cv::cvtColor(img_color_scheme, conversion_mat_, CV_BGR2RGB); ++ cv::cvtColor(img_color_scheme, conversion_mat_, cv::COLOR_BGR2RGB); + } + } else { + qWarning("ImageView.callback_image() could not convert image from '%s' to 'rgb8' (%s)", diff --git a/patch/ros-lyrical-rtabmap.patch b/patch/ros-lyrical-rtabmap.patch index 710aac52..4044071f 100644 --- a/patch/ros-lyrical-rtabmap.patch +++ b/patch/ros-lyrical-rtabmap.patch @@ -1,5 +1,5 @@ diff --git a/CMakeLists.txt b/CMakeLists.txt -index 3fd1801..68f6511 100644 +index 3fd1801..934ae3c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -113,6 +113,10 @@ if(MSVC) @@ -13,7 +13,31 @@ index 3fd1801..68f6511 100644 endif() # [Eclipse] Automatic Discovery of Include directories (Optional, but handy) -@@ -536,8 +540,12 @@ IF(WITH_G2O) +@@ -241,7 +245,22 @@ option(BUILD_WITH_RPATH_NOT_RUNPATH "Explicitly disable usage of RUNPATH for the + set(RTABMAP_QT_VERSION AUTO CACHE STRING "Force a specific Qt version.") + set_property(CACHE RTABMAP_QT_VERSION PROPERTY STRINGS AUTO 4 5 6) + +-FIND_PACKAGE(OpenCV REQUIRED QUIET COMPONENTS core calib3d imgproc highgui stitching photo video videoio OPTIONAL_COMPONENTS aruco objdetect xfeatures2d nonfree gpu cudafeatures2d cudaoptflow cudaimgproc) ++# OpenCV components. calib3d was split into "calib" + "geometry" in OpenCV 5. ++# These lists are reused below to generate RTABMapConfig.cmake so downstream ++# find_package(RTABMap) requests the same components this build used. ++SET(RTABMAP_OpenCV_COMPONENTS_5 core imgproc highgui stitching photo video videoio calib geometry) ++SET(RTABMAP_OpenCV_COMPONENTS_4 core imgproc highgui stitching photo video videoio calib3d) ++SET(RTABMAP_OpenCV_OPTIONAL_COMPONENTS_5 objdetect xfeatures2d nonfree gpu cudafeatures2d cudaoptflow cudaimgproc) ++SET(RTABMAP_OpenCV_OPTIONAL_COMPONENTS_4 aruco objdetect xfeatures2d nonfree gpu cudafeatures2d cudaoptflow cudaimgproc) ++ ++# Probe OpenCV without a version constraint first, then request the components ++# matching the detected major version. ++FIND_PACKAGE(OpenCV REQUIRED QUIET COMPONENTS core) ++IF(OpenCV_VERSION_MAJOR GREATER 4) ++ FIND_PACKAGE(OpenCV REQUIRED QUIET COMPONENTS ${RTABMAP_OpenCV_COMPONENTS_5} OPTIONAL_COMPONENTS ${RTABMAP_OpenCV_OPTIONAL_COMPONENTS_5}) ++ELSE() ++ FIND_PACKAGE(OpenCV REQUIRED QUIET COMPONENTS ${RTABMAP_OpenCV_COMPONENTS_4} OPTIONAL_COMPONENTS ${RTABMAP_OpenCV_OPTIONAL_COMPONENTS_4}) ++ENDIF() + + IF(WITH_QT) + FIND_PACKAGE(PCL 1.7 REQUIRED QUIET COMPONENTS common io kdtree search surface filters registration sample_consensus segmentation visualization) +@@ -536,8 +555,12 @@ IF(WITH_G2O) ENDIF(WITH_G2O) IF(WITH_GTSAM) @@ -27,6 +51,309 @@ index 3fd1801..68f6511 100644 IF(GTSAM_FOUND) # For issue https://github.com/introlab/rtabmap/pull/1626 FIND_FILE(GTSAM_NOISE_MODEL_FACTOR_N_FILE gtsam/nonlinear/NoiseModelFactorN.h +@@ -1318,6 +1341,18 @@ install(EXPORT rtabmapTargets + #### + # Setup RTABMapConfig.cmake + #### ++IF(OpenCV_VERSION_MAJOR GREATER 4) ++ SET(CONF_OPENCV_COMPONENTS ${RTABMAP_OpenCV_COMPONENTS_5}) ++ SET(CONF_OPENCV_OPTIONAL_COMPONENTS ${RTABMAP_OpenCV_OPTIONAL_COMPONENTS_5}) ++ELSE() ++ SET(CONF_OPENCV_COMPONENTS ${RTABMAP_OpenCV_COMPONENTS_4}) ++ SET(CONF_OPENCV_OPTIONAL_COMPONENTS ${RTABMAP_OpenCV_OPTIONAL_COMPONENTS_4}) ++ENDIF() ++STRING(REPLACE ";" " " CONF_OPENCV_COMPONENTS "${CONF_OPENCV_COMPONENTS}") ++STRING(REPLACE ";" " " CONF_OPENCV_OPTIONAL_COMPONENTS "${CONF_OPENCV_OPTIONAL_COMPONENTS}") ++# Pin the OpenCV major version so downstream projects find the same major RTAB-Map was ++# built against ++SET(CONF_OPENCV_VERSION_MAJOR ${OpenCV_VERSION_MAJOR}) + include(CMakePackageConfigHelpers) + write_basic_package_version_file( + "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" +@@ -1484,7 +1519,8 @@ ENDIF(PCL_COMPILE_OPTIONS) + MESSAGE(STATUS "") + MESSAGE(STATUS "Optional dependencies ('*' affects some default parameters) :") + IF(OpenCV_FOUND) +- IF(OPENCV_ARUCO_FOUND) ++ IF((OpenCV_VERSION_MAJOR LESS 4 AND OPENCV_ARUCO_FOUND) OR ++ (OpenCV_VERSION_MAJOR GREATER 4 AND OPENCV_OBJDETECT_FOUND)) + set(ARUCO_STR "YES") + ELSE() + set(ARUCO_STR "NO") +diff --git a/RTABMapConfig.cmake.in b/RTABMapConfig.cmake.in +index 155ef3e..713359b 100644 +--- a/RTABMapConfig.cmake.in ++++ b/RTABMapConfig.cmake.in +@@ -1,7 +1,7 @@ + include(CMakeFindDependencyMacro) + + # Mandatory dependencies +-find_dependency(OpenCV COMPONENTS core calib3d imgproc highgui stitching photo video OPTIONAL_COMPONENTS aruco objdetect xfeatures2d nonfree gpu cudafeatures2d) ++find_dependency(OpenCV @CONF_OPENCV_VERSION_MAJOR@ COMPONENTS @CONF_OPENCV_COMPONENTS@ OPTIONAL_COMPONENTS @CONF_OPENCV_OPTIONAL_COMPONENTS@) + + if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/RTABMap_guiTargets.cmake") + find_dependency(PCL 1.7 COMPONENTS common io kdtree search surface filters registration sample_consensus segmentation visualization) +diff --git a/corelib/include/rtabmap/core/DBDriverSqlite3.h b/corelib/include/rtabmap/core/DBDriverSqlite3.h +index a5df8e9..ad7358d 100644 +--- a/corelib/include/rtabmap/core/DBDriverSqlite3.h ++++ b/corelib/include/rtabmap/core/DBDriverSqlite3.h +@@ -30,7 +30,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + #include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines + #include "rtabmap/core/DBDriver.h" ++#if CV_MAJOR_VERSION < 5 + #include ++#else ++#include ++#endif + + typedef struct sqlite3_stmt sqlite3_stmt; + typedef struct sqlite3 sqlite3; +diff --git a/corelib/include/rtabmap/core/EpipolarGeometry.h b/corelib/include/rtabmap/core/EpipolarGeometry.h +index e9408cd..c739d0d 100644 +--- a/corelib/include/rtabmap/core/EpipolarGeometry.h ++++ b/corelib/include/rtabmap/core/EpipolarGeometry.h +@@ -31,7 +31,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "rtabmap/core/Parameters.h" + #include "rtabmap/utilite/UStl.h" + #include ++#if CV_MAJOR_VERSION < 5 + #include ++#else ++#include ++#endif + #include + #include + #include +diff --git a/corelib/include/rtabmap/core/Features2d.h b/corelib/include/rtabmap/core/Features2d.h +index eec3f57..82a6ddb 100644 +--- a/corelib/include/rtabmap/core/Features2d.h ++++ b/corelib/include/rtabmap/core/Features2d.h +@@ -32,7 +32,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + #include + #include ++#if CV_MAJOR_VERSION < 5 + #include ++#else ++#include ++#endif + #include + #include + #include "rtabmap/core/Parameters.h" +@@ -70,6 +74,10 @@ class BriefDescriptorExtractor; + class SIFT; + #endif + class SURF; ++#if (CV_MAJOR_VERSION == 5) ++class BRISK; ++class KAZE; ++#endif + } + namespace cuda { + class FastFeatureDetector; +@@ -89,7 +97,13 @@ typedef cv::xfeatures2d::FREAK CV_FREAK; + typedef cv::xfeatures2d::DAISY CV_DAISY; + typedef cv::GFTTDetector CV_GFTT; + typedef cv::xfeatures2d::BriefDescriptorExtractor CV_BRIEF; ++#if (CV_MAJOR_VERSION < 5) + typedef cv::BRISK CV_BRISK; ++typedef cv::KAZE CV_KAZE; ++#else ++typedef cv::xfeatures2d::BRISK CV_BRISK; ++typedef cv::xfeatures2d::KAZE CV_KAZE; ++#endif + typedef cv::ORB CV_ORB; + typedef cv::cuda::SURF_CUDA CV_SURF_GPU; + typedef cv::cuda::ORB CV_ORB_GPU; +@@ -578,7 +592,7 @@ private: + int diffusivity_; + + #if CV_MAJOR_VERSION > 2 +- cv::Ptr kaze_; ++ cv::Ptr kaze_; + #endif + }; + +diff --git a/corelib/include/rtabmap/core/MarkerDetector.h b/corelib/include/rtabmap/core/MarkerDetector.h +index 630bf87..26b6a73 100644 +--- a/corelib/include/rtabmap/core/MarkerDetector.h ++++ b/corelib/include/rtabmap/core/MarkerDetector.h +@@ -32,7 +32,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + +-#ifdef HAVE_OPENCV_ARUCO ++#if (CV_MAJOR_VERSION > 4 || (CV_MAJOR_VERSION==4 && CV_MINOR_VERSION >=7)) && defined(HAVE_OPENCV_OBJDETECT) ++#include ++#elif defined(HAVE_OPENCV_ARUCO) + #include + #endif + +@@ -97,8 +99,11 @@ private: + float maxRange_; + float minRange_; + int dictionaryId_; +-#ifdef HAVE_OPENCV_ARUCO +- cv::Ptr detectorParams_; ++#if ((CV_MAJOR_VERSION > 4 || (CV_MAJOR_VERSION==4 && CV_MINOR_VERSION >=7)) && defined(HAVE_OPENCV_OBJDETECT)) || defined(HAVE_OPENCV_ARUCO) ++#if CV_MAJOR_VERSION > 4 || (CV_MAJOR_VERSION==4 && CV_MINOR_VERSION >=7) ++ cv::Ptr arucoDetector_; ++#endif ++ cv::Ptr detectorParams_; + cv::Ptr dictionary_; + #endif + void * apriltagLibDetector_; +diff --git a/corelib/include/rtabmap/core/Memory.h b/corelib/include/rtabmap/core/Memory.h +index 8c3306a..543b834 100644 +--- a/corelib/include/rtabmap/core/Memory.h ++++ b/corelib/include/rtabmap/core/Memory.h +@@ -41,7 +41,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include "rtabmap/utilite/UStl.h" + #include ++#if CV_MAJOR_VERSION < 5 + #include ++#else ++#include ++#endif + #include + + namespace rtabmap { +diff --git a/corelib/include/rtabmap/core/OdometryInfo.h b/corelib/include/rtabmap/core/OdometryInfo.h +index 484692b..4f96a59 100644 +--- a/corelib/include/rtabmap/core/OdometryInfo.h ++++ b/corelib/include/rtabmap/core/OdometryInfo.h +@@ -34,7 +34,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "rtabmap/core/RegistrationInfo.h" + #include "rtabmap/core/CameraModel.h" + #include "rtabmap/core/LaserScan.h" ++#if CV_MAJOR_VERSION < 5 + #include ++#else ++#include ++#endif + + namespace rtabmap { + +diff --git a/corelib/include/rtabmap/core/SensorData.h b/corelib/include/rtabmap/core/SensorData.h +index ea5a5de..a088755 100644 +--- a/corelib/include/rtabmap/core/SensorData.h ++++ b/corelib/include/rtabmap/core/SensorData.h +@@ -34,7 +34,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include ++#if CV_MAJOR_VERSION < 5 + #include ++#else ++#include ++#endif + #include + #include + #include +diff --git a/corelib/include/rtabmap/core/Signature.h b/corelib/include/rtabmap/core/Signature.h +index 9dbbe53..11f6f9c 100644 +--- a/corelib/include/rtabmap/core/Signature.h ++++ b/corelib/include/rtabmap/core/Signature.h +@@ -31,7 +31,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + #include + #include ++#if CV_MAJOR_VERSION < 5 + #include ++#else ++#include ++#endif + #include + #include + #include +diff --git a/corelib/include/rtabmap/core/Statistics.h b/corelib/include/rtabmap/core/Statistics.h +index 1cdaf40..f787d9b 100644 +--- a/corelib/include/rtabmap/core/Statistics.h ++++ b/corelib/include/rtabmap/core/Statistics.h +@@ -31,7 +31,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "rtabmap/core/rtabmap_core_export.h" // DLL export/import defines + + #include ++#if CV_MAJOR_VERSION < 5 + #include ++#else ++#include ++#endif + #include + #include + #include +diff --git a/corelib/include/rtabmap/core/VWDictionary.h b/corelib/include/rtabmap/core/VWDictionary.h +index ebfa3a6..3a7e195 100644 +--- a/corelib/include/rtabmap/core/VWDictionary.h ++++ b/corelib/include/rtabmap/core/VWDictionary.h +@@ -31,7 +31,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + #include + #include ++#if CV_MAJOR_VERSION < 5 + #include ++#else ++#include ++#endif + #include + #include + #include "rtabmap/core/Parameters.h" +diff --git a/corelib/include/rtabmap/core/stereo/stereoRectifyFisheye.h b/corelib/include/rtabmap/core/stereo/stereoRectifyFisheye.h +index 2fc12a2..60b1d79 100644 +--- a/corelib/include/rtabmap/core/stereo/stereoRectifyFisheye.h ++++ b/corelib/include/rtabmap/core/stereo/stereoRectifyFisheye.h +@@ -32,6 +32,15 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #ifndef CORELIB_SRC_OPENCV_STEREORECTIFYFISHEYE_H_ + #define CORELIB_SRC_OPENCV_STEREORECTIFYFISHEYE_H_ + ++// This header relies on the OpenCV C API (cvRodrigues2, cvProjectPoints2, ...) ++// which was removed in OpenCV 5. Pull in only the version macros (available in ++// all OpenCV versions) so we can fail early with a clear message rather than ++// with cryptic errors from the includes below. ++#include ++#if CV_MAJOR_VERSION >= 5 ++#error "stereoRectifyFisheye.h is not supported with OpenCV 5 or later (it uses the removed OpenCV C API). Use cv::fisheye::stereoRectify() instead, or guard your include with '#if CV_MAJOR_VERSION < 5'." ++#endif ++ + #include + #if CV_MAJOR_VERSION >= 3 + #include +diff --git a/corelib/include/rtabmap/core/util3d_correspondences.h b/corelib/include/rtabmap/core/util3d_correspondences.h +index 6bbaeb2..d53ece4 100644 +--- a/corelib/include/rtabmap/core/util3d_correspondences.h ++++ b/corelib/include/rtabmap/core/util3d_correspondences.h +@@ -32,7 +32,12 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + #include + #include ++#include ++#if CV_MAJOR_VERSION < 5 + #include ++#else ++#include ++#endif + #include + #include + #include +diff --git a/corelib/include/rtabmap/core/util3d_features.h b/corelib/include/rtabmap/core/util3d_features.h +index 2ea95bf..6547e5c 100644 +--- a/corelib/include/rtabmap/core/util3d_features.h ++++ b/corelib/include/rtabmap/core/util3d_features.h +@@ -30,7 +30,12 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + #include + ++#include ++#if CV_MAJOR_VERSION < 5 + #include ++#else ++#include ++#endif + #include + #include + #include diff --git a/corelib/src/CMakeLists.txt b/corelib/src/CMakeLists.txt index e6bf74c..fdfe0fa 100644 --- a/corelib/src/CMakeLists.txt @@ -44,3 +371,2601 @@ index e6bf74c..fdfe0fa 100644 generate_export_header(rtabmap_core DEPRECATED_MACRO_NAME RTABMAP_DEPRECATED) +diff --git a/corelib/src/EpipolarGeometry.cpp b/corelib/src/EpipolarGeometry.cpp +index 38f1584..758a14a 100644 +--- a/corelib/src/EpipolarGeometry.cpp ++++ b/corelib/src/EpipolarGeometry.cpp +@@ -33,8 +33,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "rtabmap/utilite/UMath.h" + + #include +-#include ++#if CV_MAJOR_VERSION < 5 + #include ++#else ++#include ++#endif + #include + + namespace rtabmap +diff --git a/corelib/src/Features2d.cpp b/corelib/src/Features2d.cpp +index da83db7..184a4d8 100644 +--- a/corelib/src/Features2d.cpp ++++ b/corelib/src/Features2d.cpp +@@ -36,7 +36,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "rtabmap/utilite/UMath.h" + #include "rtabmap/utilite/ULogger.h" + #include "rtabmap/utilite/UTimer.h" +-#include + #include + #include + +@@ -865,7 +864,7 @@ std::vector Feature2D::generateKeypoints(const cv::Mat & image, co + cv::cornerSubPix( image, corners, + cv::Size( _subPixWinSize, _subPixWinSize ), + cv::Size( -1, -1 ), +- cv::TermCriteria( CV_TERMCRIT_ITER | CV_TERMCRIT_EPS, _subPixIterations, _subPixEps ) ); ++ cv::TermCriteria( cv::TermCriteria::MAX_ITER | cv::TermCriteria::EPS, _subPixIterations, _subPixEps ) ); + + for(unsigned int i=0;i 4 ++#ifdef HAVE_OPENCV_XFEATURES2D ++ brisk_ = CV_BRISK::create(thresh_, octaves_, patternScale_); ++#else ++ UWARN("RTAB-Map is not built with OpenCV xfeatures2d module so BRISK cannot be used!"); ++#endif ++#elif CV_MAJOR_VERSION < 3 + brisk_ = cv::Ptr(new CV_BRISK(thresh_, octaves_, patternScale_)); + #else + brisk_ = CV_BRISK::create(thresh_, octaves_, patternScale_); +@@ -2389,6 +2393,7 @@ std::vector BRISK::generateKeypointsImpl(const cv::Mat & image, co + { + UASSERT(!image.empty() && image.channels() == 1 && image.depth() == CV_8U); + std::vector keypoints; ++#if CV_MAJOR_VERSION < 5 || (CV_MAJOR_VERSION > 4 && defined(HAVE_OPENCV_XFEATURES2D)) + cv::Mat imgRoi(image, roi); + cv::Mat maskRoi; + if(!mask.empty()) +@@ -2396,6 +2401,9 @@ std::vector BRISK::generateKeypointsImpl(const cv::Mat & image, co + maskRoi = cv::Mat(mask, roi); + } + brisk_->detect(imgRoi, keypoints, maskRoi); // Opencv keypoints ++#else ++ UWARN("RTAB-Map is not built with BRISK feature support!"); ++#endif + return keypoints; + } + +@@ -2403,7 +2411,11 @@ cv::Mat BRISK::generateDescriptorsImpl(const cv::Mat & image, std::vector 4 && defined(HAVE_OPENCV_XFEATURES2D)) + brisk_->compute(image, keypoints, descriptors); ++#else ++ UWARN("RTAB-Map is not built with BRISK feature support!"); ++#endif + return descriptors; + } + +@@ -2436,10 +2448,16 @@ void KAZE::parseParameters(const ParametersMap & parameters) + Parameters::parse(parameters, Parameters::kKAZENOctaveLayers(), nOctaveLayers_); + Parameters::parse(parameters, Parameters::kKAZEDiffusivity(), diffusivity_); + +-#if CV_MAJOR_VERSION > 3 +- kaze_ = cv::KAZE::create(extended_, upright_, threshold_, nOctaves_, nOctaveLayers_, (cv::KAZE::DiffusivityType)diffusivity_); ++#if CV_MAJOR_VERSION > 4 ++#ifdef HAVE_OPENCV_XFEATURES2D ++ kaze_ = CV_KAZE::create(extended_, upright_, threshold_, nOctaves_, nOctaveLayers_, (CV_KAZE::DiffusivityType)diffusivity_); ++#else ++ UWARN("RTAB-Map is not built with OpenCV xfeatures2d module so KAZE cannot be used!"); ++#endif ++#elif CV_MAJOR_VERSION > 3 ++ kaze_ = CV_KAZE::create(extended_, upright_, threshold_, nOctaves_, nOctaveLayers_, (CV_KAZE::DiffusivityType)diffusivity_); + #elif CV_MAJOR_VERSION > 2 +- kaze_ = cv::KAZE::create(extended_, upright_, threshold_, nOctaves_, nOctaveLayers_, diffusivity_); ++ kaze_ = CV_KAZE::create(extended_, upright_, threshold_, nOctaves_, nOctaveLayers_, diffusivity_); + #else + UWARN("RTAB-Map is not built with OpenCV3 so Kaze feature cannot be used!"); + #endif +@@ -2449,7 +2467,7 @@ std::vector KAZE::generateKeypointsImpl(const cv::Mat & image, con + { + UASSERT(!image.empty() && image.channels() == 1 && image.depth() == CV_8U); + std::vector keypoints; +-#if CV_MAJOR_VERSION > 2 ++#if (CV_MAJOR_VERSION > 2 && CV_MAJOR_VERSION < 5) || (CV_MAJOR_VERSION > 4 && defined(HAVE_OPENCV_XFEATURES2D)) + cv::Mat imgRoi(image, roi); + cv::Mat maskRoi; + if (!mask.empty()) +@@ -2458,7 +2476,7 @@ std::vector KAZE::generateKeypointsImpl(const cv::Mat & image, con + } + kaze_->detect(imgRoi, keypoints, maskRoi); // Opencv keypoints + #else +- UWARN("RTAB-Map is not built with OpenCV3 so Kaze feature cannot be used!"); ++ UWARN("RTAB-Map is not built with Kaze feature support!"); + #endif + return keypoints; + } +@@ -2467,10 +2485,10 @@ cv::Mat KAZE::generateDescriptorsImpl(const cv::Mat & image, std::vector 2 ++#if (CV_MAJOR_VERSION > 2 && CV_MAJOR_VERSION < 5) || (CV_MAJOR_VERSION > 4 && defined(HAVE_OPENCV_XFEATURES2D)) + kaze_->compute(image, keypoints, descriptors); + #else +- UWARN("RTAB-Map is not built with OpenCV3 so Kaze feature cannot be used!"); ++ UWARN("RTAB-Map is not built with Kaze feature support!"); + #endif + return descriptors; + } +diff --git a/corelib/src/MarkerDetector.cpp b/corelib/src/MarkerDetector.cpp +index 1484082..0b7acde 100644 +--- a/corelib/src/MarkerDetector.cpp ++++ b/corelib/src/MarkerDetector.cpp +@@ -30,6 +30,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + ++#if CV_MAJOR_VERSION > 4 ++#include ++#endif ++ + #ifdef HAVE_OPENCV_ARUCO + #if CV_MAJOR_VERSION < 4 || (CV_MAJOR_VERSION == 4 && CV_MINOR_VERSION <8) + namespace cv{ +@@ -72,7 +76,7 @@ extern "C" { + #include "apriltag/tag36h11.h" + } + +-#ifndef HAVE_OPENCV_ARUCO ++#if !((CV_MAJOR_VERSION > 4 || (CV_MAJOR_VERSION==4 && CV_MINOR_VERSION >=7)) && defined(HAVE_OPENCV_OBJDETECT)) && !defined(HAVE_OPENCV_ARUCO) + // To match opencv::aruco module, add opencv::aruco dictionary enum + namespace cv{ + namespace aruco { +@@ -200,7 +204,7 @@ MarkerDetector::MarkerDetector(const ParametersMap & parameters) : + apriltagLibDetector_(NULL), + apriltagLibFamily_(NULL) + { +-#ifdef HAVE_OPENCV_ARUCO ++#if ((CV_MAJOR_VERSION > 4 || (CV_MAJOR_VERSION==4 && CV_MINOR_VERSION >=7)) && defined(HAVE_OPENCV_OBJDETECT)) || defined(HAVE_OPENCV_ARUCO) + #if CV_MAJOR_VERSION > 4 || (CV_MAJOR_VERSION == 4 && CV_MINOR_VERSION >= 7) + detectorParams_.reset(new cv::aruco::DetectorParameters()); + #elif CV_MAJOR_VERSION > 3 || (CV_MAJOR_VERSION == 3 && CV_MINOR_VERSION >=2) +@@ -310,7 +314,7 @@ void MarkerDetector::parseParameters(const ParametersMap & parameters) + } + } + +-#ifdef HAVE_OPENCV_ARUCO ++#if ((CV_MAJOR_VERSION > 4 || (CV_MAJOR_VERSION==4 && CV_MINOR_VERSION >=7)) && defined(HAVE_OPENCV_OBJDETECT)) || defined(HAVE_OPENCV_ARUCO) + detectorParams_->adaptiveThreshWinSizeMin = 3; + detectorParams_->adaptiveThreshWinSizeMax = 23; + detectorParams_->adaptiveThreshWinSizeStep = 10; +@@ -364,6 +368,7 @@ void MarkerDetector::parseParameters(const ParametersMap & parameters) + dictionaryId_ = Parameters::defaultMarkerDictionary(); + } + #endif ++ + #if CV_MAJOR_VERSION > 4 || (CV_MAJOR_VERSION == 4 && CV_MINOR_VERSION >= 7) + dictionary_.reset(new cv::aruco::Dictionary()); + *dictionary_ = cv::aruco::getPredefinedDictionary(cv::aruco::PredefinedDictionaryType(dictionaryId_)); +@@ -373,6 +378,11 @@ void MarkerDetector::parseParameters(const ParametersMap & parameters) + dictionary_.reset(new cv::aruco::Dictionary()); + *dictionary_ = cv::aruco::getPredefinedDictionary(cv::aruco::PredefinedDictionaryType(dictionaryId_)); + #endif ++ ++#if CV_MAJOR_VERSION > 4 || (CV_MAJOR_VERSION==4 && CV_MINOR_VERSION >=7) ++ arucoDetector_.reset(new cv::aruco::ArucoDetector(*dictionary_, *detectorParams_)); ++#endif ++ + #else + if(strategy_ == 0) + { +@@ -441,7 +451,7 @@ void MarkerDetector::parseParameters(const ParametersMap & parameters) + #else + if(strategy_ == 1) + { +-#ifdef HAVE_OPENCV_ARUCO ++#if ((CV_MAJOR_VERSION > 4 || (CV_MAJOR_VERSION==4 && CV_MINOR_VERSION >=7)) && defined(HAVE_OPENCV_OBJDETECT)) || defined(HAVE_OPENCV_ARUCO) + UERROR("RTAB-Map is not built with apriltag library! Fallback to OpenCV (%s=0).", Parameters::kMarkerStrategy().c_str()); + strategy_ = kStrategyOpencv; + #else +@@ -471,6 +481,34 @@ std::map MarkerDetector::detect(const cv::Mat & image, const Cam + return detections; + } + ++#if (((CV_MAJOR_VERSION > 4 || (CV_MAJOR_VERSION==4 && CV_MINOR_VERSION >=7)) && defined(HAVE_OPENCV_OBJDETECT)) || defined(HAVE_OPENCV_ARUCO)) && (CV_MAJOR_VERSION > 4 || (CV_MAJOR_VERSION == 4 && CV_MINOR_VERSION >= 7)) ++// Drop-in replacement for cv::aruco::estimatePoseSingleMarkers(), which was deprecated ++// in OpenCV 4.7 and removed in OpenCV 5. It reproduces the legacy default behavior (marker ++// object points ordered as ARUCO_CCW_CENTER + SOLVEPNP_ITERATIVE) using cv::solvePnP() per ++// marker. For OpenCV < 4.7 the native cv::aruco::estimatePoseSingleMarkers() is still used. ++static void estimatePoseSingleMarkers( ++ const std::vector > & corners, ++ float markerLength, ++ const cv::Mat & cameraMatrix, ++ const cv::Mat & distCoeffs, ++ std::vector & rvecs, ++ std::vector & tvecs) ++{ ++ cv::Mat objPoints(4, 1, CV_32FC3); ++ objPoints.ptr(0)[0] = cv::Vec3f(-markerLength/2.f, markerLength/2.f, 0); ++ objPoints.ptr(0)[1] = cv::Vec3f( markerLength/2.f, markerLength/2.f, 0); ++ objPoints.ptr(0)[2] = cv::Vec3f( markerLength/2.f, -markerLength/2.f, 0); ++ objPoints.ptr(0)[3] = cv::Vec3f(-markerLength/2.f, -markerLength/2.f, 0); ++ ++ rvecs.resize(corners.size()); ++ tvecs.resize(corners.size()); ++ for(size_t i=0; i MarkerDetector::detect(const cv::Mat & image, + const std::vector & models, + const cv::Mat & depth, +@@ -482,20 +520,27 @@ std::map MarkerDetector::detect(const cv::Mat & image, + UASSERT(int((depth.cols/models.size())*models.size()) == depth.cols); + int subRGBWidth = image.cols/models.size(); + ++ // Only a real depth map (CV_16UC1/CV_32FC1) can be used for marker length estimation. ++ // Ignore anything else (e.g. a stereo right image passed by mistake) instead of crashing ++ // later in util2d::getDepth(). ++ cv::Mat depthMap = depth; ++ if(!depthMap.empty() && depthMap.type()!=CV_16UC1 && depthMap.type()!=CV_32FC1) ++ { ++ UWARN("Marker detection: ignoring depth image with unsupported type=%d (expected CV_16UC1 or CV_32FC1).", depthMap.type()); ++ depthMap = cv::Mat(); ++ } ++ + float rgbToDepthFactorX = 1.0f; + float rgbToDepthFactorY = 1.0f; +- if(!depth.empty()) ++ if(!depthMap.empty()) + { +- rgbToDepthFactorX = float(depth.cols) / float(image.cols); +- rgbToDepthFactorY = float(depth.rows) / float(image.rows); ++ rgbToDepthFactorX = float(depthMap.cols) / float(image.cols); ++ rgbToDepthFactorY = float(depthMap.rows) / float(image.rows); + } + else if(markerLength_ == 0) + { +- if(depth.empty()) +- { +- UERROR("Depth image is empty, please set %s parameter to non-null.", Parameters::kMarkerLength().c_str()); +- return std::map(); +- } ++ UERROR("Depth image is empty, please set %s parameter to non-null.", Parameters::kMarkerLength().c_str()); ++ return std::map(); + } + + std::vector< int > ids; +@@ -632,8 +677,10 @@ std::map MarkerDetector::detect(const cv::Mat & image, + { + std::vector< int > cvIds; + std::vector< std::vector< cv::Point2f > > cvCorners, cvRejected; +-#ifdef HAVE_OPENCV_ARUCO +-#if CV_MAJOR_VERSION > 3 || (CV_MAJOR_VERSION == 3 && CV_MINOR_VERSION >=2) ++#if ((CV_MAJOR_VERSION > 4 || (CV_MAJOR_VERSION==4 && CV_MINOR_VERSION >=7)) && defined(HAVE_OPENCV_OBJDETECT)) || defined(HAVE_OPENCV_ARUCO) ++#if CV_MAJOR_VERSION > 4 || (CV_MAJOR_VERSION==4 && CV_MINOR_VERSION >=7) ++ arucoDetector_->detectMarkers(image, cvCorners, cvIds, cvRejected); ++#elif CV_MAJOR_VERSION > 3 || (CV_MAJOR_VERSION == 3 && CV_MINOR_VERSION >=2) + cv::aruco::detectMarkers(image, dictionary_, cvCorners, cvIds, detectorParams_, cvRejected); + #else + cv::aruco::detectMarkers(image, *dictionary_, cvCorners, cvIds, *detectorParams_, cvRejected); +@@ -686,9 +733,15 @@ std::map MarkerDetector::detect(const cv::Mat & image, + + for(size_t cam=0; cam < cvCornersPerCam.size(); ++cam) + { +- std::vector< cv::Vec3d > rvecs, tvecs; + const CameraModel & model = models[cam]; ++ ++ std::vector< cv::Vec3d > rvecs, tvecs; ++#if CV_MAJOR_VERSION > 4 || (CV_MAJOR_VERSION == 4 && CV_MINOR_VERSION >= 7) ++ estimatePoseSingleMarkers(cvCornersPerCam[cam], 1.0f, model.K(), model.D(), rvecs, tvecs); ++#else + cv::aruco::estimatePoseSingleMarkers(cvCornersPerCam[cam], 1.0f, model.K(), model.D(), rvecs, tvecs); ++#endif ++ + float offsetX = cam*subRGBWidth; + for(size_t i=0; i MarkerDetector::detect(const cv::Mat & image, + { + float length = 0.0f; + std::map::const_iterator findIter = extraMarkerLengths.find(ids[i]); +- if(markerLengths_.empty() && !depth.empty() && (markerLength_ == 0 || (markerLength_<0 && findIter==extraMarkerLengths.end()))) ++ if(markerLengths_.empty() && !depthMap.empty() && (markerLength_ == 0 || (markerLength_<0 && findIter==extraMarkerLengths.end()))) + { +- float d = util2d::getDepth(depth, (corners[i][0].x + (corners[i][2].x-corners[i][0].x)/2.0f)*rgbToDepthFactorX, (corners[i][0].y + (corners[i][2].y-corners[i][0].y)/2.0f)*rgbToDepthFactorY, true, 0.02f, true); +- float d1 = util2d::getDepth(depth, corners[i][0].x*rgbToDepthFactorX, corners[i][0].y*rgbToDepthFactorY, true, 0.02f, true); +- float d2 = util2d::getDepth(depth, corners[i][1].x*rgbToDepthFactorX, corners[i][1].y*rgbToDepthFactorY, true, 0.02f, true); +- float d3 = util2d::getDepth(depth, corners[i][2].x*rgbToDepthFactorX, corners[i][2].y*rgbToDepthFactorY, true, 0.02f, true); +- float d4 = util2d::getDepth(depth, corners[i][3].x*rgbToDepthFactorX, corners[i][3].y*rgbToDepthFactorY, true, 0.02f, true); ++ float d = util2d::getDepth(depthMap, (corners[i][0].x + (corners[i][2].x-corners[i][0].x)/2.0f)*rgbToDepthFactorX, (corners[i][0].y + (corners[i][2].y-corners[i][0].y)/2.0f)*rgbToDepthFactorY, true, 0.02f, true); ++ float d1 = util2d::getDepth(depthMap, corners[i][0].x*rgbToDepthFactorX, corners[i][0].y*rgbToDepthFactorY, true, 0.02f, true); ++ float d2 = util2d::getDepth(depthMap, corners[i][1].x*rgbToDepthFactorX, corners[i][1].y*rgbToDepthFactorY, true, 0.02f, true); ++ float d3 = util2d::getDepth(depthMap, corners[i][2].x*rgbToDepthFactorX, corners[i][2].y*rgbToDepthFactorY, true, 0.02f, true); ++ float d4 = util2d::getDepth(depthMap, corners[i][3].x*rgbToDepthFactorX, corners[i][3].y*rgbToDepthFactorY, true, 0.02f, true); + // Accept measurement only if all 4 depth values are valid and + // they are at the same depth (camera should be perpendicular to marker for + // best depth estimation) +@@ -887,7 +940,7 @@ std::map MarkerDetector::detect(const cv::Mat & image, + + if(!ids.empty()) + { +-#ifdef HAVE_OPENCV_ARUCO ++#if ((CV_MAJOR_VERSION > 4 || (CV_MAJOR_VERSION==4 && CV_MINOR_VERSION >=7)) && defined(HAVE_OPENCV_OBJDETECT)) || defined(HAVE_OPENCV_ARUCO) + cv::aruco::drawDetectedMarkers(*imageWithDetections, corners, ids); + #else + UWARN("RTAB-Map is not built with \"aruco\" module from OpenCV. Cannot draw markers on image."); +diff --git a/corelib/src/Memory.cpp b/corelib/src/Memory.cpp +index 37afdbf..c88304c 100644 +--- a/corelib/src/Memory.cpp ++++ b/corelib/src/Memory.cpp +@@ -62,8 +62,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include +-#include + #include ++#if CV_MAJOR_VERSION >=5 ++#include ++#endif + + namespace rtabmap { + +@@ -5373,7 +5375,7 @@ Signature * Memory::createSignature(const SensorData & inputData, const Transfor + cv::Mat imageMono; + if(decimatedData.imageRaw().channels() == 3) + { +- cv::cvtColor(decimatedData.imageRaw(), imageMono, CV_BGR2GRAY); ++ cv::cvtColor(decimatedData.imageRaw(), imageMono, cv::COLOR_BGR2GRAY); + } + else + { +@@ -5681,7 +5683,7 @@ Signature * Memory::createSignature(const SensorData & inputData, const Transfor + cv::Mat imageMono; + if(data.imageRaw().channels() == 3) + { +- cv::cvtColor(data.imageRaw(), imageMono, CV_BGR2GRAY); ++ cv::cvtColor(data.imageRaw(), imageMono, cv::COLOR_BGR2GRAY); + } + else + { +diff --git a/corelib/src/RegistrationVis.cpp b/corelib/src/RegistrationVis.cpp +index 738e72b..3e5cee3 100644 +--- a/corelib/src/RegistrationVis.cpp ++++ b/corelib/src/RegistrationVis.cpp +@@ -43,7 +43,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include +-#include ++#if CV_MAJOR_VERSION > 4 ++#include ++#endif + + #if defined(HAVE_OPENCV_XFEATURES2D) && (CV_MAJOR_VERSION > 3 || (CV_MAJOR_VERSION==3 && CV_MINOR_VERSION >=4 && CV_SUBMINOR_VERSION >= 1)) + #include // For GMS matcher +@@ -2172,7 +2174,7 @@ Transform RegistrationVis::computeTransformationImpl( + if(!transform.isNull() && !pcaData.empty()) + { + cv::Mat pcaEigenVectors, pcaEigenValues; +- cv::PCA pca_analysis(pcaData, cv::Mat(), CV_PCA_DATA_AS_ROW); ++ cv::PCA pca_analysis(pcaData, cv::Mat(), cv::PCA::DATA_AS_ROW); + // We take the second eigen value + info.inliersDistribution = pca_analysis.eigenvalues.at(0, 1); + +diff --git a/corelib/src/SensorCaptureThread.cpp b/corelib/src/SensorCaptureThread.cpp +index 6414fb9..07858d5 100644 +--- a/corelib/src/SensorCaptureThread.cpp ++++ b/corelib/src/SensorCaptureThread.cpp +@@ -39,7 +39,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "rtabmap/core/IMUFilter.h" + #include "rtabmap/core/Features2d.h" + #include "rtabmap/core/clams/discrete_depth_distortion_model.h" +-#include + #include + #include + #include +@@ -742,11 +741,11 @@ void SensorCaptureThread::postUpdate(SensorData * dataPtr, SensorCaptureInfo * i + else if(data.imageRaw().type() == CV_8UC3) + { + cv::Mat channels[3]; +- cv::cvtColor(data.imageRaw(), image, CV_BGR2YCrCb); ++ cv::cvtColor(data.imageRaw(), image, cv::COLOR_BGR2YCrCb); + cv::split(image, channels); + cv::equalizeHist(channels[0], channels[0]); + cv::merge(channels, 3, image); +- cv::cvtColor(image, image, CV_YCrCb2BGR); ++ cv::cvtColor(image, image, cv::COLOR_YCrCb2BGR); + } + if(!data.depthRaw().empty()) + { +@@ -762,11 +761,11 @@ void SensorCaptureThread::postUpdate(SensorData * dataPtr, SensorCaptureInfo * i + else if(data.rightRaw().type() == CV_8UC3) + { + cv::Mat channels[3]; +- cv::cvtColor(data.rightRaw(), right, CV_BGR2YCrCb); ++ cv::cvtColor(data.rightRaw(), right, cv::COLOR_BGR2YCrCb); + cv::split(right, channels); + cv::equalizeHist(channels[0], channels[0]); + cv::merge(channels, 3, right); +- cv::cvtColor(right, right, CV_YCrCb2BGR); ++ cv::cvtColor(right, right, cv::COLOR_YCrCb2BGR); + } + data.setStereoImage(image, right, data.stereoCameraModels()[0]); + } +@@ -781,11 +780,11 @@ void SensorCaptureThread::postUpdate(SensorData * dataPtr, SensorCaptureInfo * i + else if(data.imageRaw().type() == CV_8UC3) + { + cv::Mat channels[3]; +- cv::cvtColor(data.imageRaw(), image, CV_BGR2YCrCb); ++ cv::cvtColor(data.imageRaw(), image, cv::COLOR_BGR2YCrCb); + cv::split(image, channels); + clahe->apply(channels[0], channels[0]); + cv::merge(channels, 3, image); +- cv::cvtColor(image, image, CV_YCrCb2BGR); ++ cv::cvtColor(image, image, cv::COLOR_YCrCb2BGR); + } + if(!data.depthRaw().empty()) + { +@@ -801,11 +800,11 @@ void SensorCaptureThread::postUpdate(SensorData * dataPtr, SensorCaptureInfo * i + else if(data.rightRaw().type() == CV_8UC3) + { + cv::Mat channels[3]; +- cv::cvtColor(data.rightRaw(), right, CV_BGR2YCrCb); ++ cv::cvtColor(data.rightRaw(), right, cv::COLOR_BGR2YCrCb); + cv::split(right, channels); + clahe->apply(channels[0], channels[0]); + cv::merge(channels, 3, right); +- cv::cvtColor(right, right, CV_YCrCb2BGR); ++ cv::cvtColor(right, right, cv::COLOR_YCrCb2BGR); + } + data.setStereoImage(image, right, data.stereoCameraModels()[0]); + } +diff --git a/corelib/src/StereoCameraModel.cpp b/corelib/src/StereoCameraModel.cpp +index 421d3f4..8830c37 100644 +--- a/corelib/src/StereoCameraModel.cpp ++++ b/corelib/src/StereoCameraModel.cpp +@@ -33,7 +33,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + +-#if CV_MAJOR_VERSION > 2 or (CV_MAJOR_VERSION == 2 and (CV_MINOR_VERSION >4 or (CV_MINOR_VERSION == 4 and CV_SUBMINOR_VERSION >=10))) ++#if (CV_MAJOR_VERSION > 2 and CV_MAJOR_VERSION < 5) or (CV_MAJOR_VERSION == 2 and (CV_MINOR_VERSION >4 or (CV_MINOR_VERSION == 4 and CV_SUBMINOR_VERSION >=10))) + #include + #endif + +@@ -179,12 +179,20 @@ void StereoCameraModel::updateStereoRectification() + { + cv::Vec4d D_left(left_.D_raw().at(0,0), left_.D_raw().at(0,1), left_.D_raw().at(0,4), left_.D_raw().at(0,5)); + cv::Vec4d D_right(right_.D_raw().at(0,0), right_.D_raw().at(0,1), right_.D_raw().at(0,4), right_.D_raw().at(0,5)); +- ++#if CV_MAJOR_VERSION < 5 + stereoRectifyFisheye( + left_.K_raw(), D_left, + right_.K_raw(), D_right, + left_.imageSize(), R_, T_, R1, R2, P1, P2, Q, + cv::CALIB_ZERO_DISPARITY, 0, left_.imageSize()); ++#else ++ double balance = 0.0, fov_scale = 1.0; ++ cv::fisheye::stereoRectify( ++ left_.K_raw(), D_left, ++ right_.K_raw(), D_right, ++ left_.imageSize(), R_, T_, R1, R2, P1, P2, Q, ++ cv::CALIB_ZERO_DISPARITY, left_.imageSize(), balance, fov_scale); ++#endif + + // Re-zoom to original focal distance + if(P1.at(0,0) < 0) +diff --git a/corelib/src/camera/CameraDepthAI.cpp b/corelib/src/camera/CameraDepthAI.cpp +index beaca87..326d5bd 100644 +--- a/corelib/src/camera/CameraDepthAI.cpp ++++ b/corelib/src/camera/CameraDepthAI.cpp +@@ -32,7 +32,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include +- ++#if CV_MAJOR_VERSION < 5 ++#include ++#else ++#include ++#endif + + namespace rtabmap { + +diff --git a/corelib/src/camera/CameraFreenect.cpp b/corelib/src/camera/CameraFreenect.cpp +index 9d48215..a402c7b 100644 +--- a/corelib/src/camera/CameraFreenect.cpp ++++ b/corelib/src/camera/CameraFreenect.cpp +@@ -28,7 +28,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include +-#include + + #ifdef RTABMAP_FREENECT + #include +@@ -183,7 +182,7 @@ private: + + if(color_) + { +- cv::cvtColor(rgbIrBuffer_, rgbIrLastFrame_, CV_RGB2BGR); ++ cv::cvtColor(rgbIrBuffer_, rgbIrLastFrame_, cv::COLOR_RGB2BGR); + } + else // IrDepth + { +diff --git a/corelib/src/camera/CameraFreenect2.cpp b/corelib/src/camera/CameraFreenect2.cpp +index 85f7bdf..1514311 100644 +--- a/corelib/src/camera/CameraFreenect2.cpp ++++ b/corelib/src/camera/CameraFreenect2.cpp +@@ -29,7 +29,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include +-#include + + #ifdef RTABMAP_FREENECT2 + #include +@@ -430,11 +429,11 @@ SensorData CameraFreenect2::captureImage(SensorCaptureInfo * info) + cv::Mat rgbMat; // rtabmap uses 3 channels RGB + #ifdef LIBFREENECT2_WITH_TEGRAJPEG_SUPPORT + +- cv::cvtColor(rgbMatC4, rgbMat, CV_RGBA2BGR); ++ cv::cvtColor(rgbMatC4, rgbMat, cv::COLOR_RGBA2BGR); + + #else + +- cv::cvtColor(rgbMatC4, rgbMat, CV_BGRA2BGR); ++ cv::cvtColor(rgbMatC4, rgbMat, cv::COLOR_BGRA2BGR); + + #endif + cv::flip(rgbMat, rgb, 1); +@@ -490,11 +489,11 @@ SensorData CameraFreenect2::captureImage(SensorCaptureInfo * info) + cv::Mat rgbMat; // rtabmap uses 3 channels RGB + #ifdef LIBFREENECT2_WITH_TEGRAJPEG_SUPPORT + +- cv::cvtColor(rgbMatC4, rgbMat, CV_RGB2BGR); ++ cv::cvtColor(rgbMatC4, rgbMat, cv::COLOR_RGB2BGR); + + #else + +- cv::cvtColor(rgbMatC4, rgbMat, CV_BGRA2BGR); ++ cv::cvtColor(rgbMatC4, rgbMat, cv::COLOR_BGRA2BGR); + + #endif + cv::flip(rgbMat, rgb, 1); +@@ -607,11 +606,11 @@ SensorData CameraFreenect2::captureImage(SensorCaptureInfo * info) + // rtabmap uses 3 channels RGB + #ifdef LIBFREENECT2_WITH_TEGRAJPEG_SUPPORT + +- cv::cvtColor(rgbMatBGRA, rgb, CV_RGBA2BGR); ++ cv::cvtColor(rgbMatBGRA, rgb, cv::COLOR_RGBA2BGR); + + #else + +- cv::cvtColor(rgbMatBGRA, rgb, CV_BGRA2BGR); ++ cv::cvtColor(rgbMatBGRA, rgb, cv::COLOR_BGRA2BGR); + + #endif + cv::flip(rgb, rgb, 1); +@@ -629,11 +628,11 @@ SensorData CameraFreenect2::captureImage(SensorCaptureInfo * info) + // rtabmap uses 3 channels RGB + #ifdef LIBFREENECT2_WITH_TEGRAJPEG_SUPPORT + +- cv::cvtColor(rgbMatBGRA, rgb, CV_RGBA2BGR); ++ cv::cvtColor(rgbMatBGRA, rgb, cv::COLOR_RGBA2BGR); + + #else + +- cv::cvtColor(rgbMatBGRA, rgb, CV_BGRA2BGR); ++ cv::cvtColor(rgbMatBGRA, rgb, cv::COLOR_BGRA2BGR); + + #endif + cv::flip(rgb, rgb, 1); +diff --git a/corelib/src/camera/CameraImages.cpp b/corelib/src/camera/CameraImages.cpp +index 9767412..824c9be 100644 +--- a/corelib/src/camera/CameraImages.cpp ++++ b/corelib/src/camera/CameraImages.cpp +@@ -34,7 +34,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include +-#include ++#include + #include + + namespace rtabmap +@@ -933,7 +933,7 @@ SensorData CameraImages::captureImage(SensorCaptureInfo * info) + { + UWARN("Conversion from 4 channels to 3 channels (file=%s)", imageFilePath.c_str()); + cv::Mat out; +- cv::cvtColor(img, out, CV_BGRA2BGR); ++ cv::cvtColor(img, out, cv::COLOR_BGRA2BGR); + img = out; + } + else if(!img.empty() && _bayerMode >= 0 && _bayerMode <=3) +@@ -941,7 +941,7 @@ SensorData CameraImages::captureImage(SensorCaptureInfo * info) + cv::Mat debayeredImg; + try + { +- cv::cvtColor(img, debayeredImg, CV_BayerBG2BGR + _bayerMode); ++ cv::cvtColor(img, debayeredImg, cv::COLOR_BayerBG2BGR + _bayerMode); + img = debayeredImg; + } + catch(const cv::Exception & e) +diff --git a/corelib/src/camera/CameraK4A.cpp b/corelib/src/camera/CameraK4A.cpp +index ad5714d..caf659b 100644 +--- a/corelib/src/camera/CameraK4A.cpp ++++ b/corelib/src/camera/CameraK4A.cpp +@@ -29,7 +29,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include +-#include + + #ifdef RTABMAP_K4A + #include +@@ -508,7 +507,7 @@ SensorData CameraK4A::captureImage(SensorCaptureInfo * info) + CV_8UC4, + (void*)k4a_image_get_buffer(rgb_image_)); + +- cv::cvtColor(bgra, bgrCV, CV_BGRA2BGR); ++ cv::cvtColor(bgra, bgrCV, cv::COLOR_BGRA2BGR); + } + bgrCV = model_.rectifyImage(bgrCV); + +diff --git a/corelib/src/camera/CameraK4W2.cpp b/corelib/src/camera/CameraK4W2.cpp +index e289029..9a96251 100644 +--- a/corelib/src/camera/CameraK4W2.cpp ++++ b/corelib/src/camera/CameraK4W2.cpp +@@ -28,7 +28,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include +-#include + + #ifdef RTABMAP_K4W2 + #include +@@ -486,11 +485,11 @@ SensorData CameraK4W2::captureImage(SensorCaptureInfo * info) + { + cv::Mat tmp; + cv::resize(cv::Mat(nColorHeight, nColorWidth, CV_8UC4, pColorBuffer), tmp, cv::Size(), 0.5, 0.5, cv::INTER_AREA); +- cv::cvtColor(tmp, imageColor, CV_BGRA2BGR); ++ cv::cvtColor(tmp, imageColor, cv::COLOR_BGRA2BGR); + } + else + { +- cv::cvtColor(cv::Mat(nColorHeight, nColorWidth, CV_8UC4, pColorBuffer), imageColor, CV_BGRA2BGR); ++ cv::cvtColor(cv::Mat(nColorHeight, nColorWidth, CV_8UC4, pColorBuffer), imageColor, cv::COLOR_BGRA2BGR); + } + // loop over output pixels + for (int depthIndex = 0; depthIndex < (nDepthWidth*nDepthHeight); ++depthIndex) +diff --git a/corelib/src/camera/CameraOpenNI2.cpp b/corelib/src/camera/CameraOpenNI2.cpp +index 8be86b7..4d2ff1a 100644 +--- a/corelib/src/camera/CameraOpenNI2.cpp ++++ b/corelib/src/camera/CameraOpenNI2.cpp +@@ -29,7 +29,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include +-#include + + #ifdef RTABMAP_OPENNI2 + #include +@@ -514,7 +513,7 @@ SensorData CameraOpenNI2::captureImage(SensorCaptureInfo * info) + cv::Mat tmp(h, w, CV_8UC3, (void *)colorFrame.getData()); + if(_type==kTypeColorDepth) + { +- cv::cvtColor(tmp, rgb, CV_RGB2BGR); ++ cv::cvtColor(tmp, rgb, cv::COLOR_RGB2BGR); + } + else // IR + { +diff --git a/corelib/src/camera/CameraOpenNICV.cpp b/corelib/src/camera/CameraOpenNICV.cpp +index 13536d6..1359561 100644 +--- a/corelib/src/camera/CameraOpenNICV.cpp ++++ b/corelib/src/camera/CameraOpenNICV.cpp +@@ -26,9 +26,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + #include + #include +-#if CV_MAJOR_VERSION > 3 +-#include +-#endif ++#include + + namespace rtabmap + { +@@ -59,30 +57,34 @@ bool CameraOpenNICV::init(const std::string & calibrationFolder, const std::stri + } + + ULOGGER_DEBUG("Camera::init()"); +- _capture.open( _asus?CV_CAP_OPENNI_ASUS:CV_CAP_OPENNI ); ++#if CV_MAJOR_VERSION < 5 ++ _capture.open( _asus?cv::CAP_OPENNI_ASUS:cv::CAP_OPENNI ); ++#else ++ _capture.open( _asus?cv::CAP_OPENNI2_ASUS:cv::CAP_OPENNI2 ); ++#endif + if(_capture.isOpened()) + { +- _capture.set( CV_CAP_OPENNI_IMAGE_GENERATOR_OUTPUT_MODE, CV_CAP_OPENNI_VGA_30HZ ); +- _depthFocal = _capture.get( CV_CAP_OPENNI_DEPTH_GENERATOR_FOCAL_LENGTH ); ++ _capture.set( cv::CAP_OPENNI_IMAGE_GENERATOR_OUTPUT_MODE, cv::CAP_OPENNI_VGA_30HZ ); ++ _depthFocal = _capture.get( cv::CAP_OPENNI_DEPTH_GENERATOR_FOCAL_LENGTH ); + // Print some avalible device settings. + UINFO("Depth generator output mode:"); +- UINFO("FRAME_WIDTH %f", _capture.get( CV_CAP_PROP_FRAME_WIDTH )); +- UINFO("FRAME_HEIGHT %f", _capture.get( CV_CAP_PROP_FRAME_HEIGHT )); +- UINFO("FRAME_MAX_DEPTH %f mm", _capture.get( CV_CAP_PROP_OPENNI_FRAME_MAX_DEPTH )); +- UINFO("BASELINE %f mm", _capture.get( CV_CAP_PROP_OPENNI_BASELINE )); +- UINFO("FPS %f", _capture.get( CV_CAP_PROP_FPS )); +- UINFO("Focal %f", _capture.get( CV_CAP_OPENNI_DEPTH_GENERATOR_FOCAL_LENGTH )); +- UINFO("REGISTRATION %f", _capture.get( CV_CAP_PROP_OPENNI_REGISTRATION )); +- if(_capture.get( CV_CAP_PROP_OPENNI_REGISTRATION ) == 0.0) ++ UINFO("FRAME_WIDTH %f", _capture.get( cv::CAP_PROP_FRAME_WIDTH )); ++ UINFO("FRAME_HEIGHT %f", _capture.get( cv::CAP_PROP_FRAME_HEIGHT )); ++ UINFO("FRAME_MAX_DEPTH %f mm", _capture.get( cv::CAP_PROP_OPENNI_FRAME_MAX_DEPTH )); ++ UINFO("BASELINE %f mm", _capture.get( cv::CAP_PROP_OPENNI_BASELINE )); ++ UINFO("FPS %f", _capture.get( cv::CAP_PROP_FPS )); ++ UINFO("Focal %f", _capture.get( cv::CAP_OPENNI_DEPTH_GENERATOR_FOCAL_LENGTH )); ++ UINFO("REGISTRATION %f", _capture.get( cv::CAP_PROP_OPENNI_REGISTRATION )); ++ if(_capture.get( cv::CAP_PROP_OPENNI_REGISTRATION ) == 0.0) + { + UERROR("Depth registration is not activated on this device!"); + } +- if( _capture.get( CV_CAP_OPENNI_IMAGE_GENERATOR_PRESENT ) ) ++ if( _capture.get( cv::CAP_OPENNI_IMAGE_GENERATOR_PRESENT ) ) + { + UINFO("Image generator output mode:"); +- UINFO("FRAME_WIDTH %f", _capture.get( CV_CAP_OPENNI_IMAGE_GENERATOR+CV_CAP_PROP_FRAME_WIDTH )); +- UINFO("FRAME_HEIGHT %f", _capture.get( CV_CAP_OPENNI_IMAGE_GENERATOR+CV_CAP_PROP_FRAME_HEIGHT )); +- UINFO("FPS %f", _capture.get( CV_CAP_OPENNI_IMAGE_GENERATOR+CV_CAP_PROP_FPS )); ++ UINFO("FRAME_WIDTH %f", _capture.get( cv::CAP_OPENNI_IMAGE_GENERATOR+cv::CAP_PROP_FRAME_WIDTH )); ++ UINFO("FRAME_HEIGHT %f", _capture.get( cv::CAP_OPENNI_IMAGE_GENERATOR+cv::CAP_PROP_FRAME_HEIGHT )); ++ UINFO("FPS %f", _capture.get( cv::CAP_OPENNI_IMAGE_GENERATOR+cv::CAP_PROP_FPS )); + } + else + { +@@ -112,8 +114,8 @@ SensorData CameraOpenNICV::captureImage(SensorCaptureInfo * info) + { + _capture.grab(); + cv::Mat depth, rgb; +- _capture.retrieve(depth, CV_CAP_OPENNI_DEPTH_MAP ); +- _capture.retrieve(rgb, CV_CAP_OPENNI_BGR_IMAGE ); ++ _capture.retrieve(depth, cv::CAP_OPENNI_DEPTH_MAP ); ++ _capture.retrieve(rgb, cv::CAP_OPENNI_BGR_IMAGE ); + + depth = depth.clone(); + rgb = rgb.clone(); +diff --git a/corelib/src/camera/CameraOpenni.cpp b/corelib/src/camera/CameraOpenni.cpp +index 9fb8dc7..68cba16 100644 +--- a/corelib/src/camera/CameraOpenni.cpp ++++ b/corelib/src/camera/CameraOpenni.cpp +@@ -28,7 +28,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include +-#include + + #ifdef RTABMAP_OPENNI + #include +@@ -94,7 +93,7 @@ void CameraOpenni::image_cb ( + + cv::Mat rgbFrame(rgb->getHeight(), rgb->getWidth(), CV_8UC3); + rgb->fillRGB(rgb->getWidth(), rgb->getHeight(), rgbFrame.data); +- cv::cvtColor(rgbFrame, rgb_, CV_RGB2BGR); ++ cv::cvtColor(rgbFrame, rgb_, cv::COLOR_RGB2BGR); + + depth_ = cv::Mat(rgb->getHeight(), rgb->getWidth(), CV_16UC1); + depth->fillDepthImageRaw(rgb->getWidth(), rgb->getHeight(), (unsigned short*)depth_.data); +diff --git a/corelib/src/camera/CameraRealSense.cpp b/corelib/src/camera/CameraRealSense.cpp +index 3f545bb..0136238 100644 +--- a/corelib/src/camera/CameraRealSense.cpp ++++ b/corelib/src/camera/CameraRealSense.cpp +@@ -29,7 +29,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include +-#include + + #ifdef RTABMAP_REALSENSE + #include +@@ -938,7 +937,7 @@ SensorData CameraRealSense::captureImage(SensorCaptureInfo * info) + } + else + { +- cv::cvtColor(rgb, bgr, CV_RGB2BGR); ++ cv::cvtColor(rgb, bgr, cv::COLOR_RGB2BGR); + } + + bool rectified = false; +diff --git a/corelib/src/camera/CameraRealSense2.cpp b/corelib/src/camera/CameraRealSense2.cpp +index fb15b0c..aad8e2c 100644 +--- a/corelib/src/camera/CameraRealSense2.cpp ++++ b/corelib/src/camera/CameraRealSense2.cpp +@@ -31,7 +31,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include +-#include + + #ifdef RTABMAP_REALSENSE2 + #include +@@ -1421,7 +1420,7 @@ SensorData CameraRealSense2::captureImage(SensorCaptureInfo * info) + cv::Mat bgr; + if(rgb.channels() == 3) + { +- cv::cvtColor(rgb, bgr, CV_RGB2BGR); ++ cv::cvtColor(rgb, bgr, cv::COLOR_RGB2BGR); + } + else + { +diff --git a/corelib/src/camera/CameraStereoDC1394.cpp b/corelib/src/camera/CameraStereoDC1394.cpp +index 691516b..2c21108 100644 +--- a/corelib/src/camera/CameraStereoDC1394.cpp ++++ b/corelib/src/camera/CameraStereoDC1394.cpp +@@ -28,7 +28,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include +-#include + + #ifdef RTABMAP_DC1394 + #include +@@ -295,8 +294,8 @@ public: + + //DC1394_COLOR_CODING_RAW16: + //DC1394_COLOR_FILTER_BGGR +- cv::cvtColor(cv::Mat(frame->size[1], frame->size[0], CV_8UC1, capture_buffer), left, CV_BayerRG2BGR); +- cv::cvtColor(cv::Mat(frame->size[1], frame->size[0], CV_8UC1, capture_buffer+image.total()), right, CV_BayerRG2GRAY); ++ cv::cvtColor(cv::Mat(frame->size[1], frame->size[0], CV_8UC1, capture_buffer), left, cv::COLOR_BayerRG2BGR); ++ cv::cvtColor(cv::Mat(frame->size[1], frame->size[0], CV_8UC1, capture_buffer+image.total()), right, cv::COLOR_BayerRG2GRAY); + + dc1394_capture_enqueue(camera_, frame); + +diff --git a/corelib/src/camera/CameraStereoImages.cpp b/corelib/src/camera/CameraStereoImages.cpp +index c50a3b8..e0dd643 100644 +--- a/corelib/src/camera/CameraStereoImages.cpp ++++ b/corelib/src/camera/CameraStereoImages.cpp +@@ -27,7 +27,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + #include + #include +-#include + + namespace rtabmap + { +@@ -184,7 +183,7 @@ SensorData CameraStereoImages::captureImage(SensorCaptureInfo * info) + if(rightImage.type() != CV_8UC1 && rightGrayScale_) + { + cv::Mat tmp; +- cv::cvtColor(rightImage, tmp, CV_BGR2GRAY); ++ cv::cvtColor(rightImage, tmp, cv::COLOR_BGR2GRAY); + rightImage = tmp; + } + if(this->isImagesRectified() && stereoModel_.isValidForRectification()) +diff --git a/corelib/src/camera/CameraStereoTara.cpp b/corelib/src/camera/CameraStereoTara.cpp +index e4ea3cd..f4ec60a 100644 +--- a/corelib/src/camera/CameraStereoTara.cpp ++++ b/corelib/src/camera/CameraStereoTara.cpp +@@ -34,9 +34,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include +-#if CV_MAJOR_VERSION > 3 +-#include +-#endif ++#include + + namespace rtabmap + { +@@ -81,18 +79,18 @@ bool CameraStereoTara::init(const std::string & calibrationFolder, const std::st + + capture_.open(usbDevice_); + +- capture_.set(CV_CAP_PROP_FOURCC, CV_FOURCC('Y', '1', '6', ' ')); +- capture_.set(CV_CAP_PROP_FPS, 60); +- capture_.set(CV_CAP_PROP_FRAME_WIDTH, 752); +- capture_.set(CV_CAP_PROP_FRAME_HEIGHT, 480); +- capture_.set(CV_CAP_PROP_CONVERT_RGB,false); ++ capture_.set(cv::CAP_PROP_FOURCC, cv::VideoWriter::fourcc('Y', '1', '6', ' ')); ++ capture_.set(cv::CAP_PROP_FPS, 60); ++ capture_.set(cv::CAP_PROP_FRAME_WIDTH, 752); ++ capture_.set(cv::CAP_PROP_FRAME_HEIGHT, 480); ++ capture_.set(cv::CAP_PROP_CONVERT_RGB,false); + + ULOGGER_DEBUG("CameraStereoTara: Usb device initialization on device %d", usbDevice_); + + + if (cameraName_.empty()) + { +- unsigned int guid = (unsigned int)capture_.get(CV_CAP_PROP_GUID); ++ unsigned int guid = (unsigned int)capture_.get(cv::CAP_PROP_GUID); + if (guid != 0 && guid != 0xffffffff) + { + cameraName_ = uFormat("%08x", guid); +diff --git a/corelib/src/camera/CameraStereoVideo.cpp b/corelib/src/camera/CameraStereoVideo.cpp +index f31f40b..5de23a6 100644 +--- a/corelib/src/camera/CameraStereoVideo.cpp ++++ b/corelib/src/camera/CameraStereoVideo.cpp +@@ -28,13 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include +-#include +-#if CV_MAJOR_VERSION > 3 +-#include +-#if CV_MAJOR_VERSION > 4 +-#include +-#endif +-#endif ++#include + + namespace rtabmap + { +@@ -172,7 +166,7 @@ bool CameraStereoVideo::init(const std::string & calibrationFolder, const std::s + + if (cameraName_.empty()) + { +- unsigned int guid = (unsigned int)capture_.get(CV_CAP_PROP_GUID); ++ unsigned int guid = (unsigned int)capture_.get(cv::CAP_PROP_GUID); + if (guid != 0 && guid != 0xffffffff) + { + cameraName_ = uFormat("%08x", guid); +@@ -214,17 +208,17 @@ bool CameraStereoVideo::init(const std::string & calibrationFolder, const std::s + if(capture_.isOpened()) + { + bool resolutionSet = false; +- resolutionSet = capture_.set(CV_CAP_PROP_FRAME_WIDTH, stereoModel_.left().imageWidth()*(capture2_.isOpened()?1:2)); +- resolutionSet = resolutionSet && capture_.set(CV_CAP_PROP_FRAME_HEIGHT, stereoModel_.left().imageHeight()); ++ resolutionSet = capture_.set(cv::CAP_PROP_FRAME_WIDTH, stereoModel_.left().imageWidth()*(capture2_.isOpened()?1:2)); ++ resolutionSet = resolutionSet && capture_.set(cv::CAP_PROP_FRAME_HEIGHT, stereoModel_.left().imageHeight()); + if(capture2_.isOpened()) + { +- resolutionSet = resolutionSet && capture2_.set(CV_CAP_PROP_FRAME_WIDTH, stereoModel_.right().imageWidth()); +- resolutionSet = resolutionSet && capture2_.set(CV_CAP_PROP_FRAME_HEIGHT, stereoModel_.right().imageHeight()); ++ resolutionSet = resolutionSet && capture2_.set(cv::CAP_PROP_FRAME_WIDTH, stereoModel_.right().imageWidth()); ++ resolutionSet = resolutionSet && capture2_.set(cv::CAP_PROP_FRAME_HEIGHT, stereoModel_.right().imageHeight()); + } + + // Check if the resolution was set successfully +- int actualWidth = int(capture_.get(CV_CAP_PROP_FRAME_WIDTH)); +- int actualHeight = int(capture_.get(CV_CAP_PROP_FRAME_HEIGHT)); ++ int actualWidth = int(capture_.get(cv::CAP_PROP_FRAME_WIDTH)); ++ int actualHeight = int(capture_.get(cv::CAP_PROP_FRAME_HEIGHT)); + if(!resolutionSet || + actualWidth != stereoModel_.left().imageWidth()*(capture2_.isOpened()?1:2) || + actualHeight != stereoModel_.left().imageHeight()) +@@ -244,17 +238,17 @@ bool CameraStereoVideo::init(const std::string & calibrationFolder, const std::s + if(capture_.isOpened()) + { + bool resolutionSet = false; +- resolutionSet = capture_.set(CV_CAP_PROP_FRAME_WIDTH, _width*(capture2_.isOpened()?1:2)); +- resolutionSet = resolutionSet && capture_.set(CV_CAP_PROP_FRAME_HEIGHT, _height); ++ resolutionSet = capture_.set(cv::CAP_PROP_FRAME_WIDTH, _width*(capture2_.isOpened()?1:2)); ++ resolutionSet = resolutionSet && capture_.set(cv::CAP_PROP_FRAME_HEIGHT, _height); + if(capture2_.isOpened()) + { +- resolutionSet = resolutionSet && capture2_.set(CV_CAP_PROP_FRAME_WIDTH, _width); +- resolutionSet = resolutionSet && capture2_.set(CV_CAP_PROP_FRAME_HEIGHT, _height); ++ resolutionSet = resolutionSet && capture2_.set(cv::CAP_PROP_FRAME_WIDTH, _width); ++ resolutionSet = resolutionSet && capture2_.set(cv::CAP_PROP_FRAME_HEIGHT, _height); + } + + // Check if the resolution was set successfully +- int actualWidth = int(capture_.get(CV_CAP_PROP_FRAME_WIDTH)); +- int actualHeight = int(capture_.get(CV_CAP_PROP_FRAME_HEIGHT)); ++ int actualWidth = int(capture_.get(cv::CAP_PROP_FRAME_WIDTH)); ++ int actualHeight = int(capture_.get(cv::CAP_PROP_FRAME_HEIGHT)); + if(!resolutionSet || + actualWidth != _width*(capture2_.isOpened()?1:2) || + actualHeight != _height) +@@ -273,10 +267,10 @@ bool CameraStereoVideo::init(const std::string & calibrationFolder, const std::s + if (this->getFrameRate() > 0) + { + bool fpsSupported = false; +- fpsSupported = capture_.set(CV_CAP_PROP_FPS, this->getFrameRate()); ++ fpsSupported = capture_.set(cv::CAP_PROP_FPS, this->getFrameRate()); + if (capture2_.isOpened()) + { +- fpsSupported = fpsSupported && capture2_.set(CV_CAP_PROP_FPS, this->getFrameRate()); ++ fpsSupported = fpsSupported && capture2_.set(cv::CAP_PROP_FPS, this->getFrameRate()); + } + if(fpsSupported) + { +@@ -310,14 +304,14 @@ bool CameraStereoVideo::init(const std::string & calibrationFolder, const std::s + std::string fourccUpperCase = uToUpperCase(_fourcc); + int fourcc = cv::VideoWriter::fourcc(fourccUpperCase.at(0), fourccUpperCase.at(1), fourccUpperCase.at(2), fourccUpperCase.at(3)); + bool fourccSupported = false; +- fourccSupported = capture_.set(CV_CAP_PROP_FOURCC, fourcc); ++ fourccSupported = capture_.set(cv::CAP_PROP_FOURCC, fourcc); + if (capture2_.isOpened()) + { +- fourccSupported = fourccSupported && capture2_.set(CV_CAP_PROP_FOURCC, fourcc); ++ fourccSupported = fourccSupported && capture2_.set(cv::CAP_PROP_FOURCC, fourcc); + } + + // Check if the FOURCC was set successfully +- int actualFourcc = int(capture_.get(CV_CAP_PROP_FOURCC)); ++ int actualFourcc = int(capture_.get(cv::CAP_PROP_FOURCC)); + + if(!fourccSupported || actualFourcc != fourcc) + { +@@ -386,7 +380,7 @@ SensorData CameraStereoVideo::captureImage(SensorCaptureInfo * info) + if(rightImage.type() != CV_8UC1 && rightGrayScale_) + { + cv::Mat tmp; +- cv::cvtColor(rightImage, tmp, CV_BGR2GRAY); ++ cv::cvtColor(rightImage, tmp, cv::COLOR_BGR2GRAY); + rightImage = tmp; + rightCvt = true; + } +diff --git a/corelib/src/camera/CameraStereoZedOC.cpp b/corelib/src/camera/CameraStereoZedOC.cpp +index 014976a..e3ba6d4 100644 +--- a/corelib/src/camera/CameraStereoZedOC.cpp ++++ b/corelib/src/camera/CameraStereoZedOC.cpp +@@ -38,6 +38,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include "SimpleIni.h" + ++#if CV_MAJOR_VERSION >= 5 ++#include ++#endif ++ + /////////////////////////////////////////////////////////////////////////// + // + // Copyright (c) 2018, STEREOLABS. +diff --git a/corelib/src/camera/CameraVideo.cpp b/corelib/src/camera/CameraVideo.cpp +index 9a0a70d..1776bca 100644 +--- a/corelib/src/camera/CameraVideo.cpp ++++ b/corelib/src/camera/CameraVideo.cpp +@@ -28,12 +28,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include +-#if CV_MAJOR_VERSION > 3 +-#include +-#if CV_MAJOR_VERSION > 4 +-#include +-#endif +-#endif ++#include + + namespace rtabmap + { +@@ -105,7 +100,7 @@ bool CameraVideo::init(const std::string & calibrationFolder, const std::string + { + if (_guid.empty()) + { +- unsigned int guid = (unsigned int)_capture.get(CV_CAP_PROP_GUID); ++ unsigned int guid = (unsigned int)_capture.get(cv::CAP_PROP_GUID); + if (guid != 0 && guid != 0xffffffff) + { + _guid = uFormat("%08x", guid); +@@ -143,12 +138,12 @@ bool CameraVideo::init(const std::string & calibrationFolder, const std::string + } + + bool resolutionSet = false; +- resolutionSet = _capture.set(CV_CAP_PROP_FRAME_WIDTH, _model.imageWidth()); +- resolutionSet = resolutionSet && _capture.set(CV_CAP_PROP_FRAME_HEIGHT, _model.imageHeight()); ++ resolutionSet = _capture.set(cv::CAP_PROP_FRAME_WIDTH, _model.imageWidth()); ++ resolutionSet = resolutionSet && _capture.set(cv::CAP_PROP_FRAME_HEIGHT, _model.imageHeight()); + + // Check if the resolution was set successfully +- int actualWidth = int(_capture.get(CV_CAP_PROP_FRAME_WIDTH)); +- int actualHeight = int(_capture.get(CV_CAP_PROP_FRAME_HEIGHT)); ++ int actualWidth = int(_capture.get(cv::CAP_PROP_FRAME_WIDTH)); ++ int actualHeight = int(_capture.get(cv::CAP_PROP_FRAME_HEIGHT)); + if(!resolutionSet || + actualWidth != _model.imageWidth() || + actualHeight != _model.imageHeight()) +@@ -165,12 +160,12 @@ bool CameraVideo::init(const std::string & calibrationFolder, const std::string + else if(_width > 0 && _height > 0) + { + int resolutionSet = false; +- resolutionSet = _capture.set(CV_CAP_PROP_FRAME_WIDTH, _width); +- resolutionSet = resolutionSet && _capture.set(CV_CAP_PROP_FRAME_HEIGHT, _height); ++ resolutionSet = _capture.set(cv::CAP_PROP_FRAME_WIDTH, _width); ++ resolutionSet = resolutionSet && _capture.set(cv::CAP_PROP_FRAME_HEIGHT, _height); + + // Check if the resolution was set successfully +- int actualWidth = int(_capture.get(CV_CAP_PROP_FRAME_WIDTH)); +- int actualHeight = int(_capture.get(CV_CAP_PROP_FRAME_HEIGHT)); ++ int actualWidth = int(_capture.get(cv::CAP_PROP_FRAME_WIDTH)); ++ int actualHeight = int(_capture.get(cv::CAP_PROP_FRAME_HEIGHT)); + if(!resolutionSet || actualWidth != _width || actualHeight != _height) + { + UWARN("Desired resolution (%dx%d) cannot be set to camera driver, " +@@ -182,7 +177,7 @@ bool CameraVideo::init(const std::string & calibrationFolder, const std::string + } + + // Set FPS +- if (this->getFrameRate() > 0 && _capture.set(CV_CAP_PROP_FPS, this->getFrameRate())) ++ if (this->getFrameRate() > 0 && _capture.set(cv::CAP_PROP_FPS, this->getFrameRate())) + { + // Check if the FPS was set successfully + double actualFPS = _capture.get(cv::CAP_PROP_FPS); +@@ -213,10 +208,10 @@ bool CameraVideo::init(const std::string & calibrationFolder, const std::string + std::string fourccUpperCase = uToUpperCase(_fourcc); + int fourcc = cv::VideoWriter::fourcc(fourccUpperCase.at(0), fourccUpperCase.at(1), fourccUpperCase.at(2), fourccUpperCase.at(3)); + +- bool fourccSupported = _capture.set(CV_CAP_PROP_FOURCC, fourcc); ++ bool fourccSupported = _capture.set(cv::CAP_PROP_FOURCC, fourcc); + + // Check if the FOURCC was set successfully +- int actualFourcc = int(_capture.get(CV_CAP_PROP_FOURCC)); ++ int actualFourcc = int(_capture.get(cv::CAP_PROP_FOURCC)); + + if(!fourccSupported || actualFourcc != fourcc) + { +diff --git a/corelib/src/odometry/OdometryDVO.cpp b/corelib/src/odometry/OdometryDVO.cpp +index 2f7190d..a1e425d 100644 +--- a/corelib/src/odometry/OdometryDVO.cpp ++++ b/corelib/src/odometry/OdometryDVO.cpp +@@ -31,7 +31,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "rtabmap/utilite/ULogger.h" + #include "rtabmap/utilite/UTimer.h" + #include "rtabmap/utilite/UStl.h" +-#include + + #ifdef RTABMAP_DVO + #include +@@ -124,7 +123,7 @@ Transform OdometryDVO::computeTransform( + { + if(data.imageRaw().type() == CV_8UC3) + { +- cv::cvtColor(data.imageRaw(), grey, CV_BGR2GRAY); ++ cv::cvtColor(data.imageRaw(), grey, cv::COLOR_BGR2GRAY); + } + else + { +diff --git a/corelib/src/odometry/OdometryF2M.cpp b/corelib/src/odometry/OdometryF2M.cpp +index 58d0e3a..63b096d 100644 +--- a/corelib/src/odometry/OdometryF2M.cpp ++++ b/corelib/src/odometry/OdometryF2M.cpp +@@ -42,7 +42,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "rtabmap/utilite/UTimer.h" + #include "rtabmap/utilite/UMath.h" + #include "rtabmap/utilite/UConversion.h" ++#if CV_MAJOR_VERSION < 5 + #include ++#else ++#include ++#endif + #include + #include + +diff --git a/corelib/src/odometry/OdometryFovis.cpp b/corelib/src/odometry/OdometryFovis.cpp +index 673639a..c1f5a99 100644 +--- a/corelib/src/odometry/OdometryFovis.cpp ++++ b/corelib/src/odometry/OdometryFovis.cpp +@@ -31,7 +31,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "rtabmap/utilite/ULogger.h" + #include "rtabmap/utilite/UTimer.h" + #include "rtabmap/utilite/UStl.h" +-#include + + #ifdef RTABMAP_FOVIS + #include +@@ -137,7 +136,7 @@ Transform OdometryFovis::computeTransform( + cv::Mat gray; + if(data.imageRaw().type() == CV_8UC3) + { +- cv::cvtColor(data.imageRaw(), gray, CV_BGR2GRAY); ++ cv::cvtColor(data.imageRaw(), gray, cv::COLOR_BGR2GRAY); + } + else if(data.imageRaw().type() == CV_8UC1) + { +@@ -302,7 +301,7 @@ Transform OdometryFovis::computeTransform( + } + if(data.rightRaw().type() == CV_8UC3) + { +- cv::cvtColor(data.rightRaw(), right, CV_BGR2GRAY); ++ cv::cvtColor(data.rightRaw(), right, cv::COLOR_BGR2GRAY); + } + else if(data.rightRaw().type() == CV_8UC1) + { +diff --git a/corelib/src/odometry/OdometryMSCKF.cpp b/corelib/src/odometry/OdometryMSCKF.cpp +index ac62c25..709f9d1 100644 +--- a/corelib/src/odometry/OdometryMSCKF.cpp ++++ b/corelib/src/odometry/OdometryMSCKF.cpp +@@ -32,7 +32,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "rtabmap/utilite/UTimer.h" + #include "rtabmap/utilite/UStl.h" + #include "rtabmap/utilite/UThread.h" +-#include + + #ifdef RTABMAP_MSCKF_VIO + #include +@@ -867,7 +866,7 @@ Transform OdometryMSCKF::computeTransform( + + if(data.imageRaw().type() == CV_8UC3) + { +- cv::cvtColor(data.imageRaw(), cam0.image, CV_BGR2GRAY); ++ cv::cvtColor(data.imageRaw(), cam0.image, cv::COLOR_BGR2GRAY); + } + else + { +@@ -875,7 +874,7 @@ Transform OdometryMSCKF::computeTransform( + } + if(data.rightRaw().type() == CV_8UC3) + { +- cv::cvtColor(data.rightRaw(), cam1.image, CV_BGR2GRAY); ++ cv::cvtColor(data.rightRaw(), cam1.image, cv::COLOR_BGR2GRAY); + } + else + { +diff --git a/corelib/src/odometry/OdometryMono.cpp b/corelib/src/odometry/OdometryMono.cpp +index b942aa8..e29e2e2 100644 +--- a/corelib/src/odometry/OdometryMono.cpp ++++ b/corelib/src/odometry/OdometryMono.cpp +@@ -43,7 +43,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "rtabmap/utilite/UStl.h" + #include "rtabmap/utilite/UMath.h" + #include ++#if CV_MAJOR_VERSION < 5 + #include ++#else ++#include ++#endif + #include + #include + +diff --git a/corelib/src/odometry/OdometryORBSLAM2.cpp b/corelib/src/odometry/OdometryORBSLAM2.cpp +index 1ae10bc..616678c 100644 +--- a/corelib/src/odometry/OdometryORBSLAM2.cpp ++++ b/corelib/src/odometry/OdometryORBSLAM2.cpp +@@ -33,7 +33,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "rtabmap/utilite/UStl.h" + #include "rtabmap/utilite/UDirectory.h" + #include +-#include + #include + + #if defined(RTABMAP_ORB_SLAM) and RTABMAP_ORB_SLAM == 2 +@@ -426,7 +425,7 @@ public: + } + else + { +- cvtColor(mImGray,mImGray,CV_BGR2GRAY); ++ cvtColor(mImGray,mImGray,cv::COLOR_BGR2GRAY); + } + } + else if(mImGray.channels()==4) +@@ -437,7 +436,7 @@ public: + } + else + { +- cvtColor(mImGray,mImGray,CV_BGRA2GRAY); ++ cvtColor(mImGray,mImGray,cv::COLOR_BGRA2GRAY); + } + } + if(imGrayRight.channels()==3) +@@ -448,7 +447,7 @@ public: + } + else + { +- cvtColor(imGrayRight,imGrayRight,CV_BGR2GRAY); ++ cvtColor(imGrayRight,imGrayRight,cv::COLOR_BGR2GRAY); + } + } + else if(imGrayRight.channels()==4) +@@ -459,7 +458,7 @@ public: + } + else + { +- cvtColor(imGrayRight,imGrayRight,CV_BGRA2GRAY); ++ cvtColor(imGrayRight,imGrayRight,cv::COLOR_BGRA2GRAY); + } + } + +@@ -480,14 +479,14 @@ public: + if(mbRGB) + cvtColor(mImGray,mImGray,CV_RGB2GRAY); + else +- cvtColor(mImGray,mImGray,CV_BGR2GRAY); ++ cvtColor(mImGray,mImGray,cv::COLOR_BGR2GRAY); + } + else if(mImGray.channels()==4) + { + if(mbRGB) + cvtColor(mImGray,mImGray,CV_RGBA2GRAY); + else +- cvtColor(mImGray,mImGray,CV_BGRA2GRAY); ++ cvtColor(mImGray,mImGray,cv::COLOR_BGRA2GRAY); + } + + UASSERT(imDepth.type()==CV_32F); +diff --git a/corelib/src/odometry/OdometryORBSLAM3.cpp b/corelib/src/odometry/OdometryORBSLAM3.cpp +index f0e5d64..77e7d45 100644 +--- a/corelib/src/odometry/OdometryORBSLAM3.cpp ++++ b/corelib/src/odometry/OdometryORBSLAM3.cpp +@@ -34,7 +34,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "rtabmap/utilite/UDirectory.h" + #include "rtabmap/utilite/UFile.h" + #include +-#include + #include + + #if defined(RTABMAP_ORB_SLAM) and RTABMAP_ORB_SLAM == 3 +@@ -469,12 +468,12 @@ Transform OdometryORBSLAM3::computeTransform( + cv::Mat leftMono = data.imageRaw(); + if(data.imageRaw().channels() == 3) { + leftMono = cv::Mat(); +- cv::cvtColor(data.imageRaw(), leftMono, CV_BGR2GRAY); ++ cv::cvtColor(data.imageRaw(), leftMono, cv::COLOR_BGR2GRAY); + } + cv::Mat rightMono = data.rightRaw(); + if(data.rightRaw().channels() == 3) { + rightMono = cv::Mat(); +- cv::cvtColor(data.imageRaw(), rightMono, CV_BGR2GRAY); ++ cv::cvtColor(data.imageRaw(), rightMono, cv::COLOR_BGR2GRAY); + } + UDEBUG("Adding Stereo Frame %f", data.stamp()); + Tcw = orbslam_->TrackStereo(leftMono, rightMono, data.stamp(), orbslamImus_); +diff --git a/corelib/src/odometry/OdometryOkvis.cpp b/corelib/src/odometry/OdometryOkvis.cpp +index 10497b9..7c97e27 100644 +--- a/corelib/src/odometry/OdometryOkvis.cpp ++++ b/corelib/src/odometry/OdometryOkvis.cpp +@@ -34,7 +34,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "rtabmap/utilite/UThread.h" + #include "rtabmap/utilite/UFile.h" + #include "rtabmap/utilite/UDirectory.h" +-#include + + #ifdef RTABMAP_OKVIS + #include +@@ -427,7 +426,7 @@ Transform OdometryOkvis::computeTransform( + cv::Mat gray; + if(images[i].type() == CV_8UC3) + { +- cv::cvtColor(images[i], gray, CV_BGR2GRAY); ++ cv::cvtColor(images[i], gray, cv::COLOR_BGR2GRAY); + } + else if(images[i].type() == CV_8UC1) + { +diff --git a/corelib/src/odometry/OdometryOpenVINS.cpp b/corelib/src/odometry/OdometryOpenVINS.cpp +index e953968..4c9dcc4 100644 +--- a/corelib/src/odometry/OdometryOpenVINS.cpp ++++ b/corelib/src/odometry/OdometryOpenVINS.cpp +@@ -32,7 +32,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "rtabmap/utilite/ULogger.h" + #include "rtabmap/utilite/UTimer.h" + #include +-#include + + #ifdef RTABMAP_OPENVINS + #include "core/VioManager.h" +@@ -419,7 +418,7 @@ Transform OdometryOpenVINS::computeTransform( + + cv::Mat image; + if(data.imageRaw().type() == CV_8UC3) +- cv::cvtColor(data.imageRaw(), image, CV_BGR2GRAY); ++ cv::cvtColor(data.imageRaw(), image, cv::COLOR_BGR2GRAY); + else if(data.imageRaw().type() == CV_8UC1) + image = data.imageRaw().clone(); + else +@@ -450,7 +449,7 @@ Transform OdometryOpenVINS::computeTransform( + if(!data.rightRaw().empty()) + { + if(data.rightRaw().type() == CV_8UC3) +- cv::cvtColor(data.rightRaw(), image, CV_BGR2GRAY); ++ cv::cvtColor(data.rightRaw(), image, cv::COLOR_BGR2GRAY); + else if(data.rightRaw().type() == CV_8UC1) + image = data.rightRaw().clone(); + else +diff --git a/corelib/src/odometry/OdometryVINSFusion.cpp b/corelib/src/odometry/OdometryVINSFusion.cpp +index 9c63360..9677940 100644 +--- a/corelib/src/odometry/OdometryVINSFusion.cpp ++++ b/corelib/src/odometry/OdometryVINSFusion.cpp +@@ -33,7 +33,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "rtabmap/utilite/UStl.h" + #include "rtabmap/utilite/UThread.h" + #include "rtabmap/utilite/UDirectory.h" +-#include + + #ifdef RTABMAP_VINS_FUSION + #include +@@ -444,7 +443,7 @@ Transform OdometryVINSFusion::computeTransform( + cv::Mat right; + if(data.imageRaw().type() == CV_8UC3) + { +- cv::cvtColor(data.imageRaw(), left, CV_BGR2GRAY); ++ cv::cvtColor(data.imageRaw(), left, cv::COLOR_BGR2GRAY); + } + else if(data.imageRaw().type() == CV_8UC1) + { +@@ -456,7 +455,7 @@ Transform OdometryVINSFusion::computeTransform( + } + if(data.rightRaw().type() == CV_8UC3) + { +- cv::cvtColor(data.rightRaw(), right, CV_BGR2GRAY); ++ cv::cvtColor(data.rightRaw(), right, cv::COLOR_BGR2GRAY); + } + else if(data.rightRaw().type() == CV_8UC1) + { +diff --git a/corelib/src/odometry/OdometryViso2.cpp b/corelib/src/odometry/OdometryViso2.cpp +index 808e763..dc6192b 100644 +--- a/corelib/src/odometry/OdometryViso2.cpp ++++ b/corelib/src/odometry/OdometryViso2.cpp +@@ -31,7 +31,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "rtabmap/utilite/ULogger.h" + #include "rtabmap/utilite/UTimer.h" + #include "rtabmap/utilite/UStl.h" +-#include + + #ifdef RTABMAP_VISO2 + #include +@@ -131,7 +130,7 @@ Transform OdometryViso2::computeTransform( + cv::Mat leftGray; + if(data.imageRaw().type() == CV_8UC3) + { +- cv::cvtColor(data.imageRaw(), leftGray, CV_BGR2GRAY); ++ cv::cvtColor(data.imageRaw(), leftGray, cv::COLOR_BGR2GRAY); + } + else if(data.imageRaw().type() == CV_8UC1) + { +@@ -144,7 +143,7 @@ Transform OdometryViso2::computeTransform( + cv::Mat rightGray; + if(data.rightRaw().type() == CV_8UC3) + { +- cv::cvtColor(data.rightRaw(), rightGray, CV_BGR2GRAY); ++ cv::cvtColor(data.rightRaw(), rightGray, cv::COLOR_BGR2GRAY); + } + else if(data.rightRaw().type() == CV_8UC1) + { +diff --git a/corelib/src/opencv/ORBextractor.cc b/corelib/src/opencv/ORBextractor.cc +index 2d3cd7c..542e169 100644 +--- a/corelib/src/opencv/ORBextractor.cc ++++ b/corelib/src/opencv/ORBextractor.cc +@@ -64,7 +64,11 @@ + + #include + #include ++#if CV_MAJOR_VERSION < 5 + #include ++#else ++#include ++#endif + #include + #include + #include +diff --git a/corelib/src/opencv/ORBextractor.h b/corelib/src/opencv/ORBextractor.h +index 861ca05..82ede5b 100644 +--- a/corelib/src/opencv/ORBextractor.h ++++ b/corelib/src/opencv/ORBextractor.h +@@ -31,8 +31,6 @@ + + #include + #include +-#include +- + + namespace rtabmap + { +diff --git a/corelib/src/opencv/Orb.cpp b/corelib/src/opencv/Orb.cpp +index f56874e..c5034a7 100644 +--- a/corelib/src/opencv/Orb.cpp ++++ b/corelib/src/opencv/Orb.cpp +@@ -40,7 +40,6 @@ + + #include "opencv2/features2d/features2d.hpp" + #include "opencv2/imgproc/imgproc.hpp" +-#include "opencv2/imgproc/imgproc_c.h" + #include + #include + +@@ -252,7 +251,7 @@ static void computeOrbDescriptor(const KeyPoint& kpt, + } + } + else +- CV_Error( CV_StsBadSize, "Wrong WTA_K. It can be only 2, 3 or 4." ); ++ CV_Error( cv::Error::StsBadSize, "Wrong WTA_K. It can be only 2, 3 or 4." ); + + #undef GET_VALUE + } +@@ -752,7 +751,7 @@ void CV_ORB::operator()( InputArray _image, InputArray _mask, std::vectornlevels; + +diff --git a/corelib/src/opencv/five-point.h b/corelib/src/opencv/five-point.h +index 1a5b778..f1aa8c7 100644 +--- a/corelib/src/opencv/five-point.h ++++ b/corelib/src/opencv/five-point.h +@@ -8,6 +8,10 @@ + #ifndef CORELIB_SRC_OPENCV_FIVE_POINT_H_ + #define CORELIB_SRC_OPENCV_FIVE_POINT_H_ + ++#if CV_MAJOR_VERSION > 4 ++#include ++#endif ++ + namespace cv3 + { + +diff --git a/corelib/src/opencv/solvepnp.cpp b/corelib/src/opencv/solvepnp.cpp +index f5b3a07..ecd2be9 100644 +--- a/corelib/src/opencv/solvepnp.cpp ++++ b/corelib/src/opencv/solvepnp.cpp +@@ -53,7 +53,7 @@ class PnPRansacCallback : public PointSetRegistrator::Callback + + public: + +- PnPRansacCallback(Mat _cameraMatrix=Mat(3,3,CV_64F), Mat _distCoeffs=Mat(4,1,CV_64F), int _flags=CV_ITERATIVE, ++ PnPRansacCallback(Mat _cameraMatrix=Mat(3,3,CV_64F), Mat _distCoeffs=Mat(4,1,CV_64F), int _flags=cv::SOLVEPNP_ITERATIVE, + bool _useExtrinsicGuess=false, Mat _rvec=Mat(), Mat _tvec=Mat() ) + : cameraMatrix(_cameraMatrix), distCoeffs(_distCoeffs), flags(_flags), useExtrinsicGuess(_useExtrinsicGuess), + rvec(_rvec), tvec(_tvec) {} +@@ -142,12 +142,12 @@ bool solvePnPRansac(InputArray _opoints, InputArray _ipoints, + Mat cameraMatrix = _cameraMatrix.getMat(), distCoeffs = _distCoeffs.getMat(); + + int model_points = 6; +- int ransac_kernel_method = CV_EPNP; ++ int ransac_kernel_method = cv::SOLVEPNP_EPNP; + + if( npoints == 4 ) + { + model_points = 4; +- ransac_kernel_method = CV_P3P; ++ ransac_kernel_method = cv::SOLVEPNP_P3P; + } + + Ptr cb; // pointer to callback +@@ -178,7 +178,7 @@ bool solvePnPRansac(InputArray _opoints, InputArray _ipoints, + opoints_inliers.resize(npoints1); + ipoints_inliers.resize(npoints1); + result = solvePnP(opoints_inliers, ipoints_inliers, cameraMatrix, +- distCoeffs, rvec, tvec, useExtrinsicGuess, flags == CV_P3P ? CV_EPNP : flags) ? 1 : -1; ++ distCoeffs, rvec, tvec, useExtrinsicGuess, flags == cv::SOLVEPNP_P3P ? cv::SOLVEPNP_EPNP : flags) ? 1 : -1; + } + + if( result <= 0 || _local_model.rows <= 0) +@@ -213,7 +213,7 @@ bool solvePnPRansac(InputArray _opoints, InputArray _ipoints, + int RANSACUpdateNumIters( double p, double ep, int modelPoints, int maxIters ) + { + if( modelPoints <= 0 ) +- CV_Error( 0, "the number of model points should be positive" ); ++ CV_Error( cv::Error::Code::StsBadArg, "the number of model points should be positive" ); + + p = MAX(p, 0.); + p = MIN(p, 1.); +diff --git a/corelib/src/opencv/solvepnp.h b/corelib/src/opencv/solvepnp.h +index e88b570..382f9db 100644 +--- a/corelib/src/opencv/solvepnp.h ++++ b/corelib/src/opencv/solvepnp.h +@@ -45,9 +45,10 @@ + #define RTABMAP_CORELIB_SRC_OPENCV_SOLVEPNP_H_ + + #include ++#if CV_MAJOR_VERSION >= 5 ++#include ++#else + #include +-#if CV_MAJOR_VERSION >= 3 +-#include + #endif + + namespace cv3 { +@@ -95,7 +96,7 @@ bool solvePnPRansac( cv::InputArray objectPoints, cv::InputArray imagePoints, + cv::OutputArray rvec, cv::OutputArray tvec, + bool useExtrinsicGuess = false, int iterationsCount = 100, + float reprojectionError = 8.0, double confidence = 0.99, +- cv::OutputArray inliers = cv::noArray(), int flags = CV_ITERATIVE ); ++ cv::OutputArray inliers = cv::noArray(), int flags = cv::SOLVEPNP_ITERATIVE ); + + int RANSACUpdateNumIters( double p, double ep, int modelPoints, int maxIters ); + +diff --git a/corelib/src/optimizer/OptimizerCeres.cpp b/corelib/src/optimizer/OptimizerCeres.cpp +index 046d401..d2d64c3 100644 +--- a/corelib/src/optimizer/OptimizerCeres.cpp ++++ b/corelib/src/optimizer/OptimizerCeres.cpp +@@ -26,6 +26,12 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + #include "rtabmap/core/Graph.h" + ++#if CV_MAJOR_VERSION < 5 ++#include ++#else ++#include ++#endif ++ + #include + #include + #include +diff --git a/corelib/src/stereo/StereoBM.cpp b/corelib/src/stereo/StereoBM.cpp +index 1b390c6..57f6b7d 100644 +--- a/corelib/src/stereo/StereoBM.cpp ++++ b/corelib/src/stereo/StereoBM.cpp +@@ -27,9 +27,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + #include + #include ++#if CV_MAJOR_VERSION < 5 + #include ++#else ++#include ++#include ++#endif + #include +-#include + + namespace rtabmap { + +@@ -88,7 +92,7 @@ cv::Mat StereoBM::computeDisparity( + cv::Mat leftMono; + if(leftImage.channels() == 3) + { +- cv::cvtColor(leftImage, leftMono, CV_BGR2GRAY); ++ cv::cvtColor(leftImage, leftMono, cv::COLOR_BGR2GRAY); + } + else + { +@@ -98,7 +102,7 @@ cv::Mat StereoBM::computeDisparity( + cv::Mat rightMono; + if(rightImage.channels() == 3) + { +- cv::cvtColor(rightImage, rightMono, CV_BGR2GRAY); ++ cv::cvtColor(rightImage, rightMono, cv::COLOR_BGR2GRAY); + } + else + { +diff --git a/corelib/src/stereo/StereoSGBM.cpp b/corelib/src/stereo/StereoSGBM.cpp +index 6763aeb..d8e651a 100644 +--- a/corelib/src/stereo/StereoSGBM.cpp ++++ b/corelib/src/stereo/StereoSGBM.cpp +@@ -27,9 +27,13 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + #include + #include ++#if CV_MAJOR_VERSION < 5 + #include ++#else ++#include ++#include ++#endif + #include +-#include + + namespace rtabmap { + +@@ -77,7 +81,7 @@ cv::Mat StereoSGBM::computeDisparity( + cv::Mat leftMono; + if(leftImage.channels() == 3) + { +- cv::cvtColor(leftImage, leftMono, CV_BGR2GRAY); ++ cv::cvtColor(leftImage, leftMono, cv::COLOR_BGR2GRAY); + } + else + { +@@ -87,7 +91,7 @@ cv::Mat StereoSGBM::computeDisparity( + cv::Mat rightMono; + if(rightImage.channels() == 3) + { +- cv::cvtColor(rightImage, rightMono, CV_BGR2GRAY); ++ cv::cvtColor(rightImage, rightMono, cv::COLOR_BGR2GRAY); + } + else + { +diff --git a/corelib/src/util2d.cpp b/corelib/src/util2d.cpp +index 0251d0f..0c9318f 100644 +--- a/corelib/src/util2d.cpp ++++ b/corelib/src/util2d.cpp +@@ -34,11 +34,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include +-#include + #include + #include + #include +-#include + #include + #include + +@@ -46,6 +44,12 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #endif + ++#if CV_MAJOR_VERSION < 5 ++#include ++#else ++#include ++#endif ++ + namespace rtabmap + { + +@@ -747,7 +751,7 @@ cv::Mat disparityFromStereoImages( + cv::Mat leftMono; + if(leftImage.channels() == 3) + { +- cv::cvtColor(leftImage, leftMono, CV_BGR2GRAY); ++ cv::cvtColor(leftImage, leftMono, cv::COLOR_BGR2GRAY); + } + else + { +@@ -2042,8 +2046,8 @@ cv::Mat brightnessAndContrastAuto(const cv::Mat &src, const cv::Mat & mask, floa + //to calculate grayscale histogram + cv::Mat gray; + if (src.type() == CV_8UC1) gray = src; +- else if (src.type() == CV_8UC3) cvtColor(src, gray, CV_BGR2GRAY); +- else if (src.type() == CV_8UC4) cvtColor(src, gray, CV_BGRA2GRAY); ++ else if (src.type() == CV_8UC3) cvtColor(src, gray, cv::COLOR_BGR2GRAY); ++ else if (src.type() == CV_8UC4) cvtColor(src, gray, cv::COLOR_BGRA2GRAY); + if (clipLowHistPercent == 0 && clipHighHistPercent == 0) + { + // keep full available range +diff --git a/corelib/src/util3d.cpp b/corelib/src/util3d.cpp +index facb0d6..dfad02a 100644 +--- a/corelib/src/util3d.cpp ++++ b/corelib/src/util3d.cpp +@@ -41,7 +41,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include +-#include + + namespace rtabmap + { +@@ -892,7 +891,7 @@ pcl::PointCloud::Ptr cloudFromStereoImages( + cv::Mat leftMono; + if(leftColor.channels() == 3) + { +- cv::cvtColor(leftColor, leftMono, CV_BGR2GRAY); ++ cv::cvtColor(leftColor, leftMono, cv::COLOR_BGR2GRAY); + } + else + { +@@ -902,7 +901,7 @@ pcl::PointCloud::Ptr cloudFromStereoImages( + cv::Mat rightMono; + if(rightColor.channels() == 3) + { +- cv::cvtColor(rightColor, rightMono, CV_BGR2GRAY); ++ cv::cvtColor(rightColor, rightMono, cv::COLOR_BGR2GRAY); + } + else + { +@@ -1038,7 +1037,7 @@ std::vector::Ptr> cloudsFromSensorData( + cv::Mat leftMono; + if(sensorData.imageRaw().channels() == 3) + { +- cv::cvtColor(sensorData.imageRaw(), leftMono, CV_BGR2GRAY); ++ cv::cvtColor(sensorData.imageRaw(), leftMono, cv::COLOR_BGR2GRAY); + } + else + { +@@ -1048,7 +1047,7 @@ std::vector::Ptr> cloudsFromSensorData( + cv::Mat rightMono; + if(sensorData.rightRaw().channels() == 3) + { +- cv::cvtColor(sensorData.rightRaw(), rightMono, CV_BGR2GRAY); ++ cv::cvtColor(sensorData.rightRaw(), rightMono, cv::COLOR_BGR2GRAY); + } + else + { +diff --git a/corelib/src/util3d_correspondences.cpp b/corelib/src/util3d_correspondences.cpp +index 5a81869..41cc1e6 100644 +--- a/corelib/src/util3d_correspondences.cpp ++++ b/corelib/src/util3d_correspondences.cpp +@@ -30,7 +30,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + #include + #include ++#if CV_MAJOR_VERSION < 5 + #include ++#else ++#include ++#endif + #include + #include + +diff --git a/corelib/src/util3d_surface.cpp b/corelib/src/util3d_surface.cpp +index bccae36..3625426 100644 +--- a/corelib/src/util3d_surface.cpp ++++ b/corelib/src/util3d_surface.cpp +@@ -39,8 +39,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "rtabmap/utilite/UConversion.h" + #include "rtabmap/utilite/UMath.h" + #include "rtabmap/utilite/UTimer.h" +-#include +-#include + #include + #include + #include +@@ -1745,7 +1743,7 @@ cv::Mat mergeTextures( + if(resizedImage.type() == CV_8UC1) + { + cv::Mat resizedImageColor; +- cv::cvtColor(resizedImage, resizedImageColor, CV_GRAY2BGR); ++ cv::cvtColor(resizedImage, resizedImageColor, cv::COLOR_GRAY2BGR); + resizedImage = resizedImageColor; + } + UASSERT(resizedImage.type() == globalTextures.type()); +@@ -2609,7 +2607,7 @@ bool multiBandTexturing( + if(imageRoi.channels() == 1) + { + cv::Mat imageRoiColor; +- cv::cvtColor(imageRoi, imageRoiColor, CV_GRAY2BGR); ++ cv::cvtColor(imageRoi, imageRoiColor, cv::COLOR_GRAY2BGR); + imageRoi = imageRoiColor; + } + +@@ -3218,7 +3216,7 @@ float computeNormalsComplexity( + } + if(oi>1) + { +- cv::PCA pca_analysis(cv::Mat(data_normals, cv::Range(0, oi*2)), cv::Mat(), CV_PCA_DATA_AS_ROW); ++ cv::PCA pca_analysis(cv::Mat(data_normals, cv::Range(0, oi*2)), cv::Mat(), cv::PCA::DATA_AS_ROW); + + if(pcaEigenVectors) + { +@@ -3279,7 +3277,7 @@ float computeNormalsComplexity( + } + if(oi>1) + { +- cv::PCA pca_analysis(cv::Mat(data_normals, cv::Range(0, oi*2)), cv::Mat(), CV_PCA_DATA_AS_ROW); ++ cv::PCA pca_analysis(cv::Mat(data_normals, cv::Range(0, oi*2)), cv::Mat(), cv::PCA::DATA_AS_ROW); + + if(pcaEigenVectors) + { +@@ -3335,7 +3333,7 @@ float computeNormalsComplexity( + } + if(oi>1) + { +- cv::PCA pca_analysis(cv::Mat(data_normals, cv::Range(0, oi*2)), cv::Mat(), CV_PCA_DATA_AS_ROW); ++ cv::PCA pca_analysis(cv::Mat(data_normals, cv::Range(0, oi*2)), cv::Mat(), cv::PCA::DATA_AS_ROW); + + if(pcaEigenVectors) + { +@@ -3391,7 +3389,7 @@ float computeNormalsComplexity( + } + if(oi>1) + { +- cv::PCA pca_analysis(cv::Mat(data_normals, cv::Range(0, oi*2)), cv::Mat(), CV_PCA_DATA_AS_ROW); ++ cv::PCA pca_analysis(cv::Mat(data_normals, cv::Range(0, oi*2)), cv::Mat(), cv::PCA::DATA_AS_ROW); + + if(pcaEigenVectors) + { +@@ -3447,7 +3445,7 @@ float computeNormalsComplexity( + } + if(oi>1) + { +- cv::PCA pca_analysis(cv::Mat(data_normals, cv::Range(0, oi*2)), cv::Mat(), CV_PCA_DATA_AS_ROW); ++ cv::PCA pca_analysis(cv::Mat(data_normals, cv::Range(0, oi*2)), cv::Mat(), cv::PCA::DATA_AS_ROW); + + if(pcaEigenVectors) + { +diff --git a/guilib/include/rtabmap/gui/DatabaseViewer.h b/guilib/include/rtabmap/gui/DatabaseViewer.h +index 07f9494..bcd6735 100644 +--- a/guilib/include/rtabmap/gui/DatabaseViewer.h ++++ b/guilib/include/rtabmap/gui/DatabaseViewer.h +@@ -36,7 +36,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include ++#if CV_MAJOR_VERSION < 5 + #include ++#else ++#include ++#endif + #include + #include + #include +diff --git a/guilib/include/rtabmap/gui/ImageView.h b/guilib/include/rtabmap/gui/ImageView.h +index 8e8df85..95e4ff8 100644 +--- a/guilib/include/rtabmap/gui/ImageView.h ++++ b/guilib/include/rtabmap/gui/ImageView.h +@@ -34,7 +34,12 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include ++#include ++#if CV_MAJOR_VERSION < 5 + #include ++#else ++#include ++#endif + #include + #include "rtabmap/utilite/UCv2Qt.h" + #include +diff --git a/guilib/include/rtabmap/gui/KeypointItem.h b/guilib/include/rtabmap/gui/KeypointItem.h +index 7f4f9f6..30db5c3 100644 +--- a/guilib/include/rtabmap/gui/KeypointItem.h ++++ b/guilib/include/rtabmap/gui/KeypointItem.h +@@ -34,7 +34,12 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include ++#include ++#if CV_MAJOR_VERSION < 5 + #include ++#else ++#include ++#endif + + namespace rtabmap { + +diff --git a/guilib/src/CalibrationDialog.cpp b/guilib/src/CalibrationDialog.cpp +index f6b27fe..3fd4530 100644 +--- a/guilib/src/CalibrationDialog.cpp ++++ b/guilib/src/CalibrationDialog.cpp +@@ -28,15 +28,17 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "rtabmap/gui/CalibrationDialog.h" + #include "ui_calibrationDialog.h" + ++#include + #include + #include +-#include ++#if CV_MAJOR_VERSION >= 5 ++#include ++#include ++#else + #include +-#if CV_MAJOR_VERSION >= 3 +-#include + #endif + #include +-#if CV_MAJOR_VERSION > 2 or (CV_MAJOR_VERSION == 2 and (CV_MINOR_VERSION >4 or (CV_MINOR_VERSION == 4 and CV_SUBMINOR_VERSION >=10))) ++#if (CV_MAJOR_VERSION > 2 and CV_MAJOR_VERSION < 5) or (CV_MAJOR_VERSION == 2 and (CV_MINOR_VERSION >4 or (CV_MINOR_VERSION == 4 and CV_SUBMINOR_VERSION >=10))) + #include + #endif + +@@ -276,18 +278,23 @@ void CalibrationDialog::generateBoard() + if(ui_->comboBox_board_type->currentIndex() >= 1 ) + { + try { ++ const int marginInPixels = squareSizeInPixels/4; ++ cv::Size size( ++ squareSizeInPixels*ui_->spinBox_boardWidth->value() + 2*marginInPixels, ++ squareSizeInPixels*ui_->spinBox_boardHeight->value() + 2*marginInPixels); ++ UINFO("Creating board image of %dx%d pixels (%dx%d squares)", ++ size.width, size.height, ++ ui_->spinBox_boardWidth->value(), ui_->spinBox_boardHeight->value()); + #if CV_MAJOR_VERSION > 4 || (CV_MAJOR_VERSION == 4 && CV_MINOR_VERSION >= 7) + charucoBoard_->generateImage( +- cv::Size(squareSizeInPixels*ui_->spinBox_boardWidth->value(), +- squareSizeInPixels*ui_->spinBox_boardHeight->value()), ++ size, + image, +- squareSizeInPixels/4, 1); ++ marginInPixels, 1); + #else + charucoBoard_->draw( +- cv::Size(squareSizeInPixels*ui_->spinBox_boardWidth->value(), +- squareSizeInPixels*ui_->spinBox_boardHeight->value()), ++ size, + image, +- squareSizeInPixels/4, 1); ++ marginInPixels, 1); + #endif + + int arucoDict = ui_->comboBox_marker_dictionary->currentIndex(); +@@ -297,7 +304,7 @@ void CalibrationDialog::generateBoard() + } + catch(const cv::Exception & e) + { +- UERROR("%f", e.what()); ++ UERROR("%s", e.what()); + QMessageBox::critical(this, tr("Generating Board"), + tr("Cannot generate the board. Make sure the dictionary " + "selected is big enough for the board size. Error:\"%1\"").arg(e.what())); +@@ -737,7 +744,7 @@ void CalibrationDialog::processImages(const cv::Mat & imageLeft, const cv::Mat & + cv::Size boardSize(ui_->spinBox_boardWidth->value(), ui_->spinBox_boardHeight->value()); + if(!viewGray.empty()) + { +- int flags = CV_CALIB_CB_ADAPTIVE_THRESH | CV_CALIB_CB_NORMALIZE_IMAGE; ++ int flags = cv::CALIB_CB_ADAPTIVE_THRESH | cv::CALIB_CB_NORMALIZE_IMAGE; + + if(!viewGray.empty()) + { +@@ -748,7 +755,7 @@ void CalibrationDialog::processImages(const cv::Mat & imageLeft, const cv::Mat & + if( scale == 1 ) + timg = viewGray; + else +- cv::resize(viewGray, timg, cv::Size(), scale, scale, CV_INTER_CUBIC); ++ cv::resize(viewGray, timg, cv::Size(), scale, scale, cv::INTER_CUBIC); + + #ifdef HAVE_CHARUCO + if(ui_->comboBox_board_type->currentIndex() >= 1 ) +@@ -833,7 +840,7 @@ void CalibrationDialog::processImages(const cv::Mat & imageLeft, const cv::Mat & + float ratio = ui_->comboBox_board_type->currentIndex() >= 1 ?6.0f:2.0f; + float radius = minSquareDistance==-1.0f?5.0f:(minSquareDistance/ratio); + cv::cornerSubPix( viewGray, pointBuf[id], cv::Size(radius, radius), cv::Size(-1,-1), +- cv::TermCriteria( CV_TERMCRIT_EPS + CV_TERMCRIT_ITER, 30, 0.1 )); ++ cv::TermCriteria( cv::TermCriteria::EPS + cv::TermCriteria::MAX_ITER, 30, 0.1 )); + + // Filter points that drifted to far (caused by reflection or bad subpixel gradient) + float threshold = ui_->doubleSpinBox_subpixel_error->value(); +@@ -1388,6 +1395,13 @@ void CalibrationDialog::calibrate() + UINFO("Calibrating camera %d (samples=%d)", id, (int)imagePoints_[id].size()); + logStream << "Calibrating camera " << id << " (samples=" << imagePoints_[id].size() << ")" << ENDL; + ++ // Work on local copies: the fisheye auto-prune below removes ill-conditioned views, ++ // and we must NOT mutate the persistent buffers, otherwise clicking Calibrate again ++ // would run on a smaller (already-pruned) sample set and give different results. ++ std::vector > objectPoints = objectPoints_[id]; ++ std::vector > imagePoints = imagePoints_[id]; ++ std::vector imageIds = imageIds_[id]; ++ + //calibrate + std::vector rvecs, tvecs; + std::vector reprojErrs; +@@ -1401,26 +1415,78 @@ void CalibrationDialog::calibrate() + + if(fishEye) + { +- try +- { +- rms = cv::fisheye::calibrate( +- objectPoints_[id], +- imagePoints_[id], +- imageSize_[id], +- K, +- D, +- rvecs, +- tvecs, +- cv::fisheye::CALIB_RECOMPUTE_EXTRINSIC | +- cv::fisheye::CALIB_CHECK_COND | +- cv::fisheye::CALIB_FIX_SKEW); +- } +- catch(const cv::Exception & e) ++ // cv::fisheye::calibrate() with CALIB_CHECK_COND throws as soon as a single ++ // view is ill-conditioned (e.g. too few / poorly spread ChArUco corners), ++ // aborting the whole calibration. Auto-prune the offending view (its index is ++ // reported in the exception message) and retry until it succeeds, keeping the ++ // CHECK_COND safety without discarding every good view. ++ const int minFisheyeViews = COUNT_MIN/2; ++ bool calibrated = false; ++ while(!calibrated) + { +- UERROR("Error: %s (try restarting the calibration)", e.what()); +- QMessageBox::warning(this, tr("Calibration failed!"), tr("Error: %1 (try restarting the calibration)").arg(e.what())); +- processingData_ = false; +- return; ++ try ++ { ++ rms = cv::fisheye::calibrate( ++ objectPoints, ++ imagePoints, ++ imageSize_[id], ++ K, ++ D, ++ rvecs, ++ tvecs, ++ cv::fisheye::CALIB_RECOMPUTE_EXTRINSIC | ++ cv::fisheye::CALIB_CHECK_COND | ++ cv::fisheye::CALIB_FIX_SKEW); ++ calibrated = true; ++ } ++ catch(const cv::Exception & e) ++ { ++ // Parse the ill-conditioned view index, e.g. ++ // "CALIB_CHECK_COND - Ill-conditioned matrix for input array 43" ++ int badIndex = -1; ++ const QString token = "input array "; ++ QString msg = e.what(); ++ int tokenPos = msg.indexOf(token); ++ if(tokenPos >= 0) ++ { ++ bool ok = false; ++ int v = msg.mid(tokenPos + token.length()).section(' ', 0, 0).toInt(&ok); ++ if(ok) ++ { ++ badIndex = v; ++ } ++ } ++ ++ if(badIndex >= 0 && badIndex < (int)objectPoints.size() && ++ (int)objectPoints.size() > minFisheyeViews) ++ { ++ int removedImageId = badIndex < (int)imageIds.size() ? imageIds[badIndex] : -1; ++ UWARN("Fisheye calibration: view %d (image %d) is ill-conditioned, " ++ "removing it and retrying (%d views left).", ++ badIndex, removedImageId, (int)objectPoints.size()-1); ++ logStream << "Fisheye calibration: removed ill-conditioned view " << badIndex ++ << " (image " << removedImageId << "), " ++ << (int)objectPoints.size()-1 << " views left" << ENDL; ++ ++ // Prune the local copies only (never the persistent buffers). Keep them ++ // aligned: the per-view reprojection loop below indexes them together ++ // with rvecs/tvecs. ++ objectPoints.erase(objectPoints.begin()+badIndex); ++ imagePoints.erase(imagePoints.begin()+badIndex); ++ if(badIndex < (int)imageIds.size()) ++ { ++ imageIds.erase(imageIds.begin()+badIndex); ++ } ++ // loop and retry with the pruned set ++ } ++ else ++ { ++ UERROR("Error: %s (try restarting the calibration)", e.what()); ++ QMessageBox::warning(this, tr("Calibration failed!"), tr("Error: %1 (try restarting the calibration)").arg(e.what())); ++ processingData_ = false; ++ return; ++ } ++ } + } + } + else +@@ -1429,8 +1495,8 @@ void CalibrationDialog::calibrate() + cv::Mat stdDevsMatInt, stdDevsMatExt; + cv::Mat perViewErrorsMat; + rms = cv::calibrateCamera( +- objectPoints_[id], +- imagePoints_[id], ++ objectPoints, ++ imagePoints, + imageSize_[id], + K, + D, +@@ -1440,14 +1506,14 @@ void CalibrationDialog::calibrate() + stdDevsMatExt, + perViewErrorsMat, + ui_->comboBox_calib_model->currentIndex()==2?cv::CALIB_RATIONAL_MODEL:0); +- if((int)imageIds_[id].size() == perViewErrorsMat.rows) ++ if((int)imageIds.size() == perViewErrorsMat.rows) + { + UINFO("Per view errors:"); + logStream << "Per view errors:" << ENDL; + for(int i=0; i(i,0)); +- logStream << "Image " << imageIds_[id][i] << ": " << perViewErrorsMat.at(i,0) << ENDL; ++ UINFO("Image %d: %f", imageIds[i], perViewErrorsMat.at(i,0)); ++ logStream << "Image " << imageIds[i] << ": " << perViewErrorsMat.at(i,0) << ENDL; + } + } + } +@@ -1459,23 +1525,23 @@ void CalibrationDialog::calibrate() + std::vector imagePoints2; + int i, totalPoints = 0; + double totalErr = 0, err; +- reprojErrs.resize(objectPoints_[id].size()); ++ reprojErrs.resize(objectPoints.size()); + +- for( i = 0; i < (int)objectPoints_[id].size(); ++i ) ++ for( i = 0; i < (int)objectPoints.size(); ++i ) + { + #if CV_MAJOR_VERSION > 2 or (CV_MAJOR_VERSION == 2 and (CV_MINOR_VERSION >4 or (CV_MINOR_VERSION == 4 and CV_SUBMINOR_VERSION >=10))) + if(fishEye) + { +- cv::fisheye::projectPoints( cv::Mat(objectPoints_[id][i]), imagePoints2, rvecs[i], tvecs[i], K, D); ++ cv::fisheye::projectPoints( cv::Mat(objectPoints[i]), imagePoints2, rvecs[i], tvecs[i], K, D); + } + else + #endif + { +- cv::projectPoints( cv::Mat(objectPoints_[id][i]), rvecs[i], tvecs[i], K, D, imagePoints2); ++ cv::projectPoints( cv::Mat(objectPoints[i]), rvecs[i], tvecs[i], K, D, imagePoints2); + } +- err = cv::norm(cv::Mat(imagePoints_[id][i]), cv::Mat(imagePoints2), CV_L2); ++ err = cv::norm(cv::Mat(imagePoints[i]), cv::Mat(imagePoints2), cv::NORM_L2); + +- int n = (int)objectPoints_[id][i].size(); ++ int n = (int)objectPoints[i].size(); + reprojErrs[i] = (float) std::sqrt(err*err/n); + totalErr += err*err; + totalPoints += n; +@@ -1576,9 +1642,14 @@ void CalibrationDialog::calibrate() + cv::Mat P = stereoModel_.right().P().clone(); + P.at(0,3) = -P.at(0,0)*ui_->doubleSpinBox_stereoBaseline->value(); + double scale = ui_->doubleSpinBox_stereoBaseline->value() / stereoModel_.baseline(); +- UWARN("Scale %f (setting square size from %f to %f)", scale, ui_->doubleSpinBox_squareSize->value(), ui_->doubleSpinBox_squareSize->value()*scale); +- logStream << "Baseline rescaled from " << stereoModel_.baseline() << " to " << ui_->doubleSpinBox_stereoBaseline->value() << " scale=" << scale << ENDL; +- ui_->doubleSpinBox_squareSize->setValue(ui_->doubleSpinBox_squareSize->value()*scale); ++ UWARN("Scale %f applied to stereo baseline (computed %f m -> expected %f m). " ++ "If the mismatch is caused by the measured square size, it would be %f m instead of %f m.", ++ scale, stereoModel_.baseline(), ui_->doubleSpinBox_stereoBaseline->value(), ++ ui_->doubleSpinBox_squareSize->value()*scale, ui_->doubleSpinBox_squareSize->value()); ++ logStream << "Baseline rescaled from " << stereoModel_.baseline() << " to " << ui_->doubleSpinBox_stereoBaseline->value() ++ << " scale=" << scale << " (implied square size " << ui_->doubleSpinBox_squareSize->value()*scale ++ << " m instead of " << ui_->doubleSpinBox_squareSize->value() << " m)" << ENDL; ++ UASSERT(!stereoModel_.T().empty()); + stereoModel_ = StereoCameraModel( + stereoModel_.name(), + stereoModel_.left().imageSize(),stereoModel_.left().K_raw(), stereoModel_.left().D_raw(), stereoModel_.left().R(), stereoModel_.left().P(), +@@ -1708,26 +1779,58 @@ StereoCameraModel CalibrationDialog::stereoCalibration(const CameraModel & left, + cv::Vec4d D_right(right.D_raw().at(0,0), right.D_raw().at(0,1), right.D_raw().at(0,4), right.D_raw().at(0,5)); + + UASSERT(stereoImagePoints_[0].size() == stereoImagePoints_[1].size()); ++ UASSERT(stereoObjectPoints_.size() == stereoImagePoints_[0].size()); ++ // cv::fisheye::stereoCalibrate() reads the number of points from the first view and ++ // lays out its Jacobian assuming EVERY view has that same count (fisheye.cpp ++ // "reshape(1, n_points*2)"). ChArUco detects a variable number of corners per view, ++ // so we make the counts uniform by evenly subsampling every view down to the common ++ // minimum count (kept spatially spread, not just the first N). ++ size_t minPoints = stereoImagePoints_[0][0].size(); ++ for(unsigned int i =0; i > objectPoints(stereoObjectPoints_.size()); + std::vector > leftPoints(stereoImagePoints_[0].size()); + std::vector > rightPoints(stereoImagePoints_[1].size()); ++ bool subsampled = false; + for(unsigned int i =0; i1 ? (size_t)((k*(n-1))/(minPoints-1)) : 0; ++ objectPoints[i][k].x = stereoObjectPoints_[i][j].x; ++ objectPoints[i][k].y = stereoObjectPoints_[i][j].y; ++ objectPoints[i][k].z = stereoObjectPoints_[i][j].z; ++ leftPoints[i][k].x = stereoImagePoints_[0][i][j].x; ++ leftPoints[i][k].y = stereoImagePoints_[0][i][j].y; ++ rightPoints[i][k].x = stereoImagePoints_[1][i][j].x; ++ rightPoints[i][k].y = stereoImagePoints_[1][i][j].y; + } + } ++ if(subsampled) ++ { ++ UWARN("Fisheye stereo calibration requires the same number of points in every " ++ "view; sub-sampled all %d views to the common minimum of %d points.", ++ (int)stereoImagePoints_[0].size(), (int)minPoints); ++ if(logStream) (*logStream) << "Fisheye stereo: sub-sampled all views to " << (int)minPoints << " points" << ENDL; ++ } + + try + { + rms = cv::fisheye::stereoCalibrate( +- stereoObjectPoints_, ++ objectPoints, + leftPoints, + rightPoints, + left.K_raw(), D_left, right.K_raw(), D_right, +@@ -1739,30 +1842,41 @@ StereoCameraModel CalibrationDialog::stereoCalibration(const CameraModel & left, + catch(const cv::Exception & e) + { + UERROR("Error: %s (try restarting the calibration)", e.what()); ++ QMessageBox::warning(const_cast(this), tr("Calibration failed!"), tr("Error: %1 (try restarting the calibration)").arg(e.what())); + return output; + } + + std::cout << "R = " << R << std::endl; + std::cout << "T = " << Tvec << std::endl; + ++ // cv::fisheye::stereoCalibrate() returns the translation as a Vec3d (Tvec) and does ++ // not fill the cv::Mat T; populate it here so the returned model always carries a ++ // valid 3x1 extrinsic translation (used e.g. by the baseline rescaling below). ++ T = cv::Mat(3, 1, CV_64FC1); ++ T.at(0,0) = Tvec[0]; ++ T.at(1,0) = Tvec[1]; ++ T.at(2,0) = Tvec[2]; ++ + if(imageSize_[0] == imageSize_[1] && !ignoreStereoRectification) + { + UINFO("Compute stereo rectification"); + + cv::Mat R1, R2, P1, P2, Q; ++#if CV_MAJOR_VERSION < 5 + stereoRectifyFisheye( + left.K_raw(), D_left, + right.K_raw(), D_right, + imageSize, R, Tvec, R1, R2, P1, P2, Q, + cv::CALIB_ZERO_DISPARITY, 0, imageSize); +- +- // Very hard to get good results with this one: +- /*double balance = 0.0, fov_scale = 1.0; ++#else ++ // Very hard to get good results with this one, however we cannot use the previous one anymore in opencv5 ++ double balance = 0.0, fov_scale = 1.0; + cv::fisheye::stereoRectify( + left.K_raw(), D_left, + right.K_raw(), D_right, + imageSize, R, Tvec, R1, R2, P1, P2, Q, +- cv::CALIB_ZERO_DISPARITY, imageSize, balance, fov_scale);*/ ++ cv::CALIB_ZERO_DISPARITY, imageSize, balance, fov_scale); ++#endif + + std::cout << "R1 = " << R1 << std::endl; + std::cout << "R2 = " << R2 << std::endl; +@@ -1791,11 +1905,6 @@ StereoCameraModel CalibrationDialog::stereoCalibration(const CameraModel & left, + std::cout << "P1n = " << P1 << std::endl; + std::cout << "P2n = " << P2 << std::endl; + +- +- cv::Mat T(3,1,CV_64FC1); +- T.at (0,0) = Tvec[0]; +- T.at (1,0) = Tvec[1]; +- T.at (2,0) = Tvec[2]; + output = StereoCameraModel( + cameraName_.toStdString(), + imageSize_[0], left.K_raw(), left.D_raw(), R1, P1, +@@ -1915,8 +2024,8 @@ StereoCameraModel CalibrationDialog::stereoCalibration(const CameraModel & left, + { + int npt = (int)stereoImagePoints_[0][i].size(); + +- cv::Mat imgpt0 = cv::Mat(stereoImagePoints_[0][i]); +- cv::Mat imgpt1 = cv::Mat(stereoImagePoints_[1][i]); ++ std::vector imgpt0 = stereoImagePoints_[0][i]; ++ std::vector imgpt1 = stereoImagePoints_[1][i]; + cv::undistortPoints(imgpt0, imgpt0, left.K_raw(), left.D_raw(), R1, P1); + cv::undistortPoints(imgpt1, imgpt1, right.K_raw(), right.D_raw(), R2, P2); + computeCorrespondEpilines(imgpt0, 1, F, lines[0]); +@@ -1925,10 +2034,10 @@ StereoCameraModel CalibrationDialog::stereoCalibration(const CameraModel & left, + double sampleErr = 0.0; + for(int j = 0; j < npt; j++ ) + { +- double errij = fabs(stereoImagePoints_[0][i][j].x*lines[1][j][0] + +- stereoImagePoints_[0][i][j].y*lines[1][j][1] + lines[1][j][2]) + +- fabs(stereoImagePoints_[1][i][j].x*lines[0][j][0] + +- stereoImagePoints_[1][i][j].y*lines[0][j][1] + lines[0][j][2]); ++ double errij = fabs(imgpt0[j].x*lines[1][j][0] + ++ imgpt0[j].y*lines[1][j][1] + lines[1][j][2]) + ++ fabs(imgpt1[j].x*lines[0][j][0] + ++ imgpt1[j].y*lines[0][j][1] + lines[0][j][2]); + sampleErr += errij; + } + UINFO("Stereo image %d: %f", stereoImageIds_[i], sampleErr/npt); +diff --git a/guilib/src/CameraViewer.cpp b/guilib/src/CameraViewer.cpp +index 6588d51..3d7bbab 100644 +--- a/guilib/src/CameraViewer.cpp ++++ b/guilib/src/CameraViewer.cpp +@@ -85,7 +85,7 @@ CameraViewer::CameraViewer(QWidget * parent, const ParametersMap & parameters) : + showScanCheckbox_->setChecked(true); + + markerCheckbox_ = new QCheckBox("Detect markers", this); +-#if defined(HAVE_OPENCV_ARUCO) || defined(RTABMAP_APRILTAG) ++#if ((CV_MAJOR_VERSION > 4 || (CV_MAJOR_VERSION==4 && CV_MINOR_VERSION >=7)) && defined(HAVE_OPENCV_OBJDETECT)) || defined(HAVE_OPENCV_ARUCO) || defined(RTABMAP_APRILTAG) + markerCheckbox_->setEnabled(true); + markerDetector_ = new MarkerDetector(parameters); + #else +@@ -175,7 +175,8 @@ void CameraViewer::showImage(const rtabmap::SensorData & data) + if(!models.empty() && models[0].isValidForProjection()) + { + cv::Mat imageWithDetections; +- detections = markerDetector_->detect(left, models, depthOrRight, _landmarksSize, &imageWithDetections); ++ cv::Mat depth = (depthOrRight.type()==CV_16UC1 || depthOrRight.type()==CV_32FC1) ? depthOrRight : cv::Mat(); ++ detections = markerDetector_->detect(left, models, depth, _landmarksSize, &imageWithDetections); + imageView_->setImage(uCvMat2QImage(imageWithDetections)); + for(std::map::iterator iter=detections.begin(); iter!=detections.end(); ++iter) + { +diff --git a/guilib/src/DatabaseViewer.cpp b/guilib/src/DatabaseViewer.cpp +index 8951266..a133cb3 100644 +--- a/guilib/src/DatabaseViewer.cpp ++++ b/guilib/src/DatabaseViewer.cpp +@@ -43,8 +43,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include +-#include +-#include + #include + #include + #include +@@ -5956,7 +5954,7 @@ void DatabaseViewer::updateStereo(const SensorData * data) + cv::Mat leftMono; + if(data->imageRaw().channels() == 3) + { +- cv::cvtColor(data->imageRaw(), leftMono, CV_BGR2GRAY); ++ cv::cvtColor(data->imageRaw(), leftMono, cv::COLOR_BGR2GRAY); + } + else + { +@@ -5965,7 +5963,7 @@ void DatabaseViewer::updateStereo(const SensorData * data) + cv::Mat rightMono; + if(data->rightRaw().channels() == 3) + { +- cv::cvtColor(data->rightRaw(), rightMono, CV_BGR2GRAY); ++ cv::cvtColor(data->rightRaw(), rightMono, cv::COLOR_BGR2GRAY); + } + else + { +diff --git a/guilib/src/MainWindow.cpp b/guilib/src/MainWindow.cpp +index 8daf26b..363d9cf 100644 +--- a/guilib/src/MainWindow.cpp ++++ b/guilib/src/MainWindow.cpp +@@ -91,6 +91,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + ++#if CV_MAJOR_VERSION >= 5 ++#include ++#endif ++ + //RGB-D stuff + #include "rtabmap/core/CameraRGBD.h" + #include "rtabmap/core/Odometry.h" +@@ -123,10 +127,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #endif + +-#ifdef HAVE_OPENCV_ARUCO +-#include +-#endif +- + #define LOG_FILE_NAME "LogRtabmap.txt" + #define SHARE_SHOW_LOG_FILE "share/rtabmap/showlogs.m" + #define SHARE_GET_PRECISION_RECALL_FILE "share/rtabmap/getPrecisionRecall.m" +diff --git a/guilib/src/PreferencesDialog.cpp b/guilib/src/PreferencesDialog.cpp +index 2ccdd09..f42667d 100644 +--- a/guilib/src/PreferencesDialog.cpp ++++ b/guilib/src/PreferencesDialog.cpp +@@ -475,10 +475,10 @@ PreferencesDialog::PreferencesDialog(QWidget * parent) : + _ui->checkBox_showOdomFrustums->setChecked(false); + #endif + +-#if !defined(HAVE_OPENCV_ARUCO) && !defined(RTABMAP_APRILTAG) ++#if !((CV_MAJOR_VERSION > 4 || (CV_MAJOR_VERSION==4 && CV_MINOR_VERSION >=7)) && defined(HAVE_OPENCV_OBJDETECT)) && !defined(HAVE_OPENCV_ARUCO) && !defined(RTABMAP_APRILTAG) + _ui->label_markerDetection->setText(_ui->label_markerDetection->text()+" This option works only if OpenCV has been built with \"aruco\" module and/or RTAB-Map has been built with AprilTag library support."); + #endif +-#ifndef HAVE_OPENCV_ARUCO ++#if !(((CV_MAJOR_VERSION > 4 || (CV_MAJOR_VERSION==4 && CV_MINOR_VERSION >=7)) && defined(HAVE_OPENCV_OBJDETECT)) || defined(HAVE_OPENCV_ARUCO)) + _ui->MarkerStrategy->setItemData(0, 0, Qt::UserRole - 1); + #endif + #ifndef RTABMAP_APRILTAG +diff --git a/guilib/src/ui/calibrationDialog.ui b/guilib/src/ui/calibrationDialog.ui +index d429252..96a5d27 100644 +--- a/guilib/src/ui/calibrationDialog.ui ++++ b/guilib/src/ui/calibrationDialog.ui +@@ -345,10 +345,10 @@ + + + +- ++ Number of inner squares on the board + + +- Square Size ++ Board Size + + + +@@ -385,10 +385,10 @@ + + + +- Number of inner squares on the board ++ + + +- Board Size ++ Square Size + + + +diff --git a/tools/Camera/main.cpp b/tools/Camera/main.cpp +index e337030..3bf320c 100644 +--- a/tools/Camera/main.cpp ++++ b/tools/Camera/main.cpp +@@ -32,7 +32,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "rtabmap/utilite/UDirectory.h" + #include "rtabmap/utilite/UConversion.h" + #include +-#include + #include + + void showUsage() +@@ -178,7 +177,7 @@ int main(int argc, char * argv[]) + + cv::Mat rgb; + rgb = camera->takeImage().imageRaw(); +- cv::namedWindow("Video", CV_WINDOW_AUTOSIZE); // create window ++ cv::namedWindow("Video", cv::WINDOW_AUTOSIZE); // create window + while(!rgb.empty()) + { + cv::imshow("Video", rgb); // show frame +diff --git a/tools/CameraRGBD/main.cpp b/tools/CameraRGBD/main.cpp +index b8342e6..ff40f3c 100644 +--- a/tools/CameraRGBD/main.cpp ++++ b/tools/CameraRGBD/main.cpp +@@ -40,10 +40,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include "rtabmap/utilite/UEventsManager.h" + #include + #include +-#include +-#if CV_MAJOR_VERSION >= 3 +-#include +-#endif + #include + #include + #include +@@ -454,7 +450,7 @@ int main(int argc, char * argv[]) + { + if(right.channels() == 3) + { +- cv::cvtColor(right, right, CV_BGR2GRAY); ++ cv::cvtColor(right, right, cv::COLOR_BGR2GRAY); + } + pcl::PointCloud::Ptr cloud = rtabmap::util3d::cloudFromStereoImages( + rgb, right, +diff --git a/tools/EpipolarGeometry/main.cpp b/tools/EpipolarGeometry/main.cpp +index aa309fa..22e6016 100644 +--- a/tools/EpipolarGeometry/main.cpp ++++ b/tools/EpipolarGeometry/main.cpp +@@ -26,7 +26,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + + #include +-#include + #include + #include + #include +@@ -36,7 +35,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include ++#if CV_MAJOR_VERSION < 5 + #include ++#else ++#include ++#endif + #include "rtabmap/core/Features2d.h" + #include "rtabmap/core/EpipolarGeometry.h" + #include "rtabmap/core/VWDictionary.h" +diff --git a/tools/StereoEval/main.cpp b/tools/StereoEval/main.cpp +index bd3313f..9c15e34 100644 +--- a/tools/StereoEval/main.cpp ++++ b/tools/StereoEval/main.cpp +@@ -37,7 +37,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + #include + #include + #include +-#include + #include + #include + +@@ -222,7 +221,7 @@ int main(int argc, char * argv[]) + cv::Mat leftMono; + if(left.channels() == 3) + { +- cv::cvtColor(left, leftMono, CV_BGR2GRAY); ++ cv::cvtColor(left, leftMono, cv::COLOR_BGR2GRAY); + } + else + { +@@ -231,7 +230,7 @@ int main(int argc, char * argv[]) + cv::Mat rightMono; + if(right.channels() == 3) + { +- cv::cvtColor(right, rightMono, CV_BGR2GRAY); ++ cv::cvtColor(right, rightMono, cv::COLOR_BGR2GRAY); + } + else + { +@@ -266,7 +265,7 @@ int main(int argc, char * argv[]) + cv::cornerSubPix(leftMono, leftCorners, + cv::Size( subPixWinSize, subPixWinSize ), + cv::Size( -1, -1 ), +- cv::TermCriteria( CV_TERMCRIT_ITER | CV_TERMCRIT_EPS, subPixIterations, subPixEps ) ); ++ cv::TermCriteria( cv::TermCriteria::MAX_ITER | cv::TermCriteria::EPS, subPixIterations, subPixEps ) ); + UDEBUG("cv::cornerSubPix() end"); + } + diff --git a/patch/ros-lyrical-stereo-image-proc.patch b/patch/ros-lyrical-stereo-image-proc.patch new file mode 100644 index 00000000..68201ce5 --- /dev/null +++ b/patch/ros-lyrical-stereo-image-proc.patch @@ -0,0 +1,13 @@ +diff --git a/src/stereo_image_proc/disparity_node.cpp b/src/stereo_image_proc/disparity_node.cpp +index 958f43a..d82a240 100644 +--- a/src/stereo_image_proc/disparity_node.cpp ++++ b/src/stereo_image_proc/disparity_node.cpp +@@ -53,7 +53,7 @@ + #include + #include + +-#include ++#include + + namespace stereo_image_proc + { diff --git a/patch/ros-lyrical-theora-image-transport.patch b/patch/ros-lyrical-theora-image-transport.patch new file mode 100644 index 00000000..d76fda70 --- /dev/null +++ b/patch/ros-lyrical-theora-image-transport.patch @@ -0,0 +1,12 @@ +diff -ruN a/src/theora_subscriber.cpp b/src/theora_subscriber.cpp +--- a/src/theora_subscriber.cpp ++++ b/src/theora_subscriber.cpp +@@ -294,7 +294,7 @@ + + // Convert to BGR color + cv::Mat bgr, bgr_padded; +- cv::cvtColor(ycrcb, bgr_padded, CV_YCrCb2BGR); ++ cv::cvtColor(ycrcb, bgr_padded, cv::COLOR_YCrCb2BGR); + // Pull out original (non-padded) image region + bgr = bgr_padded(cv::Rect(header_info_.pic_x, header_info_.pic_y, + header_info_.pic_width, header_info_.pic_height)); diff --git a/pixi.lock b/pixi.lock index a78ebf05..b5a87916 100644 --- a/pixi.lock +++ b/pixi.lock @@ -1,29 +1,29 @@ version: 7 platforms: -- name: linux-64-glibc-2-17 +- name: osx-64 + virtual-packages: + - __unix=0=0 + - __osx=13.0 + - __archspec=0=x86_64 +- name: osx-arm64 + virtual-packages: + - __unix=0=0 + - __osx=13.0 + - __archspec=0=m1 +- name: p1 subdir: linux-64 virtual-packages: - __glibc=2.17 - __unix=0=0 - __linux=4.18 - __archspec=0=x86_64 -- name: linux-aarch64-glibc-2-17 +- name: p2 subdir: linux-aarch64 virtual-packages: - __glibc=2.17 - __unix=0=0 - __linux=4.18 - __archspec=0=aarch64 -- name: osx-64 - virtual-packages: - - __unix=0=0 - - __osx=13.0 - - __archspec=0=x86_64 -- name: osx-arm64 - virtual-packages: - - __unix=0=0 - - __osx=13.0 - - __archspec=0=m1 - name: win-64 virtual-packages: - __win=10.0 @@ -35,7 +35,133 @@ environments: indexes: - https://pypi.org/simple packages: - linux-64-glibc-2-17: + osx-64: + - conda: https://prefix.dev/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://prefix.dev/conda-forge/noarch/python_abi-3.14-9_cp314.conda + - conda: https://prefix.dev/conda-forge/noarch/setuptools-81.0.0-pyh332efcf_0.conda + - conda: https://prefix.dev/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/bzip2-1.0.8-h374f1ed_10.conda + - conda: https://prefix.dev/conda-forge/osx-64/c-ares-1.34.8-had63097_2.conda + - conda: https://prefix.dev/conda-forge/osx-64/cmake-3.31.8-h29fc008_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/icu-78.3-py313hbf1d544_2.conda + - conda: https://prefix.dev/conda-forge/osx-64/krb5-1.22.2-h69064fd_2.conda + - conda: https://prefix.dev/conda-forge/osx-64/libcurl-8.22.0-h5318221_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libcxx-23.1.1-h19cb2f5_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/libedit-3.1.20250104-pl5321hba2e2ab_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libev-4.33-ha3d0635_3.conda + - conda: https://prefix.dev/conda-forge/osx-64/libexpat-2.8.1-hcc62823_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libffi-3.7.0-h6b3a05b_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libiconv-1.18-h4ae439b_3.conda + - conda: https://prefix.dev/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libmpdec-4.0.0-ha1e9b39_2.conda + - conda: https://prefix.dev/conda-forge/osx-64/libnghttp2-1.68.1-h1e30255_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libpsl-0.23.1-h7ff43d8_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libpython-3.14.7-hfe304d0_106_cp314.conda + - conda: https://prefix.dev/conda-forge/osx-64/libsqlite-3.53.4-ha5db789_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libssh2-1.11.1-hd53bb72_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libuv-1.52.1-ha3d0635_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_3.conda + - conda: https://prefix.dev/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/openssl-3.6.4-h332eb6d_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/python-3.14.7-hafa0b4b_106_cp314.conda + - conda: https://prefix.dev/conda-forge/osx-64/rattler-build-0.76.1-h1311731_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/rattler-index-0.31.5-hca43645_0.conda + - conda: https://prefix.dev/conda-forge/osx-64/readline-8.3-h000c2f7_1.conda + - conda: https://prefix.dev/conda-forge/osx-64/rhash-1.4.6-ha1e9b39_2.conda + - conda: https://prefix.dev/conda-forge/osx-64/tk-8.6.13-ha6c374e_4.conda + - conda: https://prefix.dev/conda-forge/osx-64/zstd-1.5.7-hbc1a06c_7.conda + - pypi: git+https://github.com/RoboStack/vinca.git?rev=5767846ab2557b4e358e11a5f07c7743df3ede4e#5767846ab2557b4e358e11a5f07c7743df3ede4e + - pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/12/74/ef303ec980ef962ffe548fa36cb138bb399d1d1315731ba7bb81da85f7e0/rosdistro-1.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/15/63/327d25d91af32209b394abe5626706c4b7ad5a4812cc464a4e3a2be6916f/rospkg-1.6.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/32/91/30151a39f7570f448ed84529390628a651d7f27c87d73c9b887f8189695e/docutils-0.23-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/35/79/5e2cffa1c77432f11cd93a5351f30732c997a239d3a3090856a72d6d8ba7/ruamel.yaml-0.17.40-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3b/95/88ed47cb7da88569a78b7d6fb9420298df7e99997810c844a924d96d3c08/empy-3.3.4.tar.gz + - pypi: https://files.pythonhosted.org/packages/3d/5c/f8923b595b55fe49e30612987ad8bf053aef555c14f05bb659dd5dbe3e8a/zstandard-0.25.0-cp314-cp314-macosx_10_13_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/3f/53/b5e80bac66d0db921ddbbe3c8d37198455c19302a29da1a434708c35c79d/catkin_pkg-1.1.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/57/b0/0e52c878c53f245edd3a11020f20979b3f490f245af532c7cae3027754b5/idna-3.19-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl + - pypi: https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/af/40/791891d4c0c4dab4c5e187c17261cedc26285fd41541577f900470a45a4d/license_expression-30.4.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e5/ca/78d423b324b8d77900030fa59c4aa9054261ef0925631cd2501dd015b7b7/boolean_py-5.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e9/40/095ce62fa078483cccc1fa2b36e6bc9580b85422a20ee9f925341c50e44f/charset_normalizer-3.5.1-cp314-cp314-macosx_10_15_universal2.whl + - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl + osx-arm64: + - conda: https://prefix.dev/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda + - conda: https://prefix.dev/conda-forge/noarch/python_abi-3.14-9_cp314.conda + - conda: https://prefix.dev/conda-forge/noarch/setuptools-81.0.0-pyh332efcf_0.conda + - conda: https://prefix.dev/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/c-ares-1.34.8-h74c22ad_2.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/cmake-3.31.8-h54ad630_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/icu-78.3-py310h579977c_2.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/krb5-1.22.2-h34f8a20_2.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libcurl-8.22.0-h6651222_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libcxx-23.1.1-h55c6f16_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libedit-3.1.20250104-pl5321h26f1114_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libev-4.33-h1a92334_3.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libexpat-2.8.1-hf6b4638_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libffi-3.7.0-h47dc5ef_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libiconv-1.18-he4c29f2_3.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_2.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libnghttp2-1.68.1-h435687b_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libpsl-0.23.1-hdb0c161_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libpython-3.14.7-h4311e70_106_cp314.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libsqlite-3.53.4-hca69786_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libssh2-1.11.1-hbf2880b_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libuv-1.52.1-h1a92334_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/ncurses-6.6-he64c551_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/openssl-3.6.4-h55eecbc_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/python-3.14.7-h0ae1c2c_106_cp314.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/rattler-build-0.76.1-h74d5219_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/rattler-index-0.31.5-h7b803a5_0.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/readline-8.3-h8b90a29_1.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/rhash-1.4.6-h84a0fba_2.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/tk-8.6.13-hbeba79b_4.conda + - conda: https://prefix.dev/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda + - pypi: git+https://github.com/RoboStack/vinca.git?rev=5767846ab2557b4e358e11a5f07c7743df3ede4e#5767846ab2557b4e358e11a5f07c7743df3ede4e + - pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/12/74/ef303ec980ef962ffe548fa36cb138bb399d1d1315731ba7bb81da85f7e0/rosdistro-1.1.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/15/63/327d25d91af32209b394abe5626706c4b7ad5a4812cc464a4e3a2be6916f/rospkg-1.6.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/32/91/30151a39f7570f448ed84529390628a651d7f27c87d73c9b887f8189695e/docutils-0.23-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/35/79/5e2cffa1c77432f11cd93a5351f30732c997a239d3a3090856a72d6d8ba7/ruamel.yaml-0.17.40-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/3b/95/88ed47cb7da88569a78b7d6fb9420298df7e99997810c844a924d96d3c08/empy-3.3.4.tar.gz + - pypi: https://files.pythonhosted.org/packages/3f/53/b5e80bac66d0db921ddbbe3c8d37198455c19302a29da1a434708c35c79d/catkin_pkg-1.1.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/57/b0/0e52c878c53f245edd3a11020f20979b3f490f245af532c7cae3027754b5/idna-3.19-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/8d/09/d0a2a14fc3439c5f874042dca72a79c70a532090b7ba0003be73fee37ae2/zstandard-0.25.0-cp314-cp314-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/af/40/791891d4c0c4dab4c5e187c17261cedc26285fd41541577f900470a45a4d/license_expression-30.4.4-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl + - pypi: https://files.pythonhosted.org/packages/e5/ca/78d423b324b8d77900030fa59c4aa9054261ef0925631cd2501dd015b7b7/boolean_py-5.0-py3-none-any.whl + - pypi: https://files.pythonhosted.org/packages/e9/40/095ce62fa078483cccc1fa2b36e6bc9580b85422a20ee9f925341c50e44f/charset_normalizer-3.5.1-cp314-cp314-macosx_10_15_universal2.whl + - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl + p1: - conda: https://prefix.dev/conda-forge/linux-64/_openmp_mutex-4.5-20_gnu.conda - conda: https://prefix.dev/conda-forge/linux-64/bzip2-1.0.8-hda65f42_10.conda - conda: https://prefix.dev/conda-forge/linux-64/c-ares-1.34.8-hebe6cf0_2.conda @@ -77,7 +203,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/python_abi-3.14-9_cp314.conda - conda: https://prefix.dev/conda-forge/noarch/setuptools-81.0.0-pyh332efcf_0.conda - conda: https://prefix.dev/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - pypi: git+https://github.com/RoboStack/vinca.git?rev=435ebd63c76c6d52d935b6650724fb03126d4694#435ebd63c76c6d52d935b6650724fb03126d4694 + - pypi: git+https://github.com/RoboStack/vinca.git?rev=5767846ab2557b4e358e11a5f07c7743df3ede4e#5767846ab2557b4e358e11a5f07c7743df3ede4e - pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/74/ef303ec980ef962ffe548fa36cb138bb399d1d1315731ba7bb81da85f7e0/rosdistro-1.1.0-py3-none-any.whl @@ -105,7 +231,7 @@ environments: - pypi: https://files.pythonhosted.org/packages/e0/91/39c3af510b0aa32bbda03374259200f28430febfd1bf5e511fe765282ce5/charset_normalizer-3.5.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl - pypi: https://files.pythonhosted.org/packages/e5/ca/78d423b324b8d77900030fa59c4aa9054261ef0925631cd2501dd015b7b7/boolean_py-5.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl - linux-aarch64-glibc-2-17: + p2: - conda: https://prefix.dev/conda-forge/linux-aarch64/_openmp_mutex-4.5-20_gnu.conda - conda: https://prefix.dev/conda-forge/linux-aarch64/bzip2-1.0.8-h4777abc_10.conda - conda: https://prefix.dev/conda-forge/linux-aarch64/c-ares-1.34.8-h29ee22c_2.conda @@ -147,7 +273,7 @@ environments: - conda: https://prefix.dev/conda-forge/noarch/python_abi-3.14-9_cp314.conda - conda: https://prefix.dev/conda-forge/noarch/setuptools-81.0.0-pyh332efcf_0.conda - conda: https://prefix.dev/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - pypi: git+https://github.com/RoboStack/vinca.git?rev=435ebd63c76c6d52d935b6650724fb03126d4694#435ebd63c76c6d52d935b6650724fb03126d4694 + - pypi: git+https://github.com/RoboStack/vinca.git?rev=5767846ab2557b4e358e11a5f07c7743df3ede4e#5767846ab2557b4e358e11a5f07c7743df3ede4e - pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/74/ef303ec980ef962ffe548fa36cb138bb399d1d1315731ba7bb81da85f7e0/rosdistro-1.1.0-py3-none-any.whl @@ -175,132 +301,6 @@ environments: - pypi: https://files.pythonhosted.org/packages/e5/ca/78d423b324b8d77900030fa59c4aa9054261ef0925631cd2501dd015b7b7/boolean_py-5.0-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/f1/5a/0e58b1c04a1596e0256f407274a92d5fb2ee21324409d1fab1da48a65b5b/charset_normalizer-3.5.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl - osx-64: - - conda: https://prefix.dev/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - - conda: https://prefix.dev/conda-forge/noarch/python_abi-3.14-9_cp314.conda - - conda: https://prefix.dev/conda-forge/noarch/setuptools-81.0.0-pyh332efcf_0.conda - - conda: https://prefix.dev/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://prefix.dev/conda-forge/osx-64/bzip2-1.0.8-h374f1ed_10.conda - - conda: https://prefix.dev/conda-forge/osx-64/c-ares-1.34.8-had63097_2.conda - - conda: https://prefix.dev/conda-forge/osx-64/cmake-3.31.8-h29fc008_0.conda - - conda: https://prefix.dev/conda-forge/osx-64/icu-78.3-py313hbf1d544_2.conda - - conda: https://prefix.dev/conda-forge/osx-64/krb5-1.22.2-h69064fd_2.conda - - conda: https://prefix.dev/conda-forge/osx-64/libcurl-8.22.0-h5318221_0.conda - - conda: https://prefix.dev/conda-forge/osx-64/libcxx-23.1.1-h19cb2f5_0.conda - - conda: https://prefix.dev/conda-forge/osx-64/libedit-3.1.20250104-pl5321hba2e2ab_1.conda - - conda: https://prefix.dev/conda-forge/osx-64/libev-4.33-ha3d0635_3.conda - - conda: https://prefix.dev/conda-forge/osx-64/libexpat-2.8.1-hcc62823_1.conda - - conda: https://prefix.dev/conda-forge/osx-64/libffi-3.7.0-h6b3a05b_1.conda - - conda: https://prefix.dev/conda-forge/osx-64/libiconv-1.18-h4ae439b_3.conda - - conda: https://prefix.dev/conda-forge/osx-64/liblzma-5.8.3-hbb4bfdb_1.conda - - conda: https://prefix.dev/conda-forge/osx-64/libmpdec-4.0.0-ha1e9b39_2.conda - - conda: https://prefix.dev/conda-forge/osx-64/libnghttp2-1.68.1-h1e30255_1.conda - - conda: https://prefix.dev/conda-forge/osx-64/libpsl-0.23.1-h7ff43d8_1.conda - - conda: https://prefix.dev/conda-forge/osx-64/libpython-3.14.7-hfe304d0_106_cp314.conda - - conda: https://prefix.dev/conda-forge/osx-64/libsqlite-3.53.4-ha5db789_1.conda - - conda: https://prefix.dev/conda-forge/osx-64/libssh2-1.11.1-hd53bb72_1.conda - - conda: https://prefix.dev/conda-forge/osx-64/libuv-1.52.1-ha3d0635_1.conda - - conda: https://prefix.dev/conda-forge/osx-64/libzlib-1.3.2-hbb4bfdb_3.conda - - conda: https://prefix.dev/conda-forge/osx-64/ncurses-6.6-hcc0dc9a_1.conda - - conda: https://prefix.dev/conda-forge/osx-64/openssl-3.6.4-h332eb6d_0.conda - - conda: https://prefix.dev/conda-forge/osx-64/python-3.14.7-hafa0b4b_106_cp314.conda - - conda: https://prefix.dev/conda-forge/osx-64/rattler-build-0.76.1-h1311731_0.conda - - conda: https://prefix.dev/conda-forge/osx-64/rattler-index-0.31.5-hca43645_0.conda - - conda: https://prefix.dev/conda-forge/osx-64/readline-8.3-h000c2f7_1.conda - - conda: https://prefix.dev/conda-forge/osx-64/rhash-1.4.6-ha1e9b39_2.conda - - conda: https://prefix.dev/conda-forge/osx-64/tk-8.6.13-ha6c374e_4.conda - - conda: https://prefix.dev/conda-forge/osx-64/zstd-1.5.7-hbc1a06c_7.conda - - pypi: git+https://github.com/RoboStack/vinca.git?rev=435ebd63c76c6d52d935b6650724fb03126d4694#435ebd63c76c6d52d935b6650724fb03126d4694 - - pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/12/74/ef303ec980ef962ffe548fa36cb138bb399d1d1315731ba7bb81da85f7e0/rosdistro-1.1.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/15/63/327d25d91af32209b394abe5626706c4b7ad5a4812cc464a4e3a2be6916f/rospkg-1.6.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/32/91/30151a39f7570f448ed84529390628a651d7f27c87d73c9b887f8189695e/docutils-0.23-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/35/79/5e2cffa1c77432f11cd93a5351f30732c997a239d3a3090856a72d6d8ba7/ruamel.yaml-0.17.40-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/3b/95/88ed47cb7da88569a78b7d6fb9420298df7e99997810c844a924d96d3c08/empy-3.3.4.tar.gz - - pypi: https://files.pythonhosted.org/packages/3d/5c/f8923b595b55fe49e30612987ad8bf053aef555c14f05bb659dd5dbe3e8a/zstandard-0.25.0-cp314-cp314-macosx_10_13_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/3f/53/b5e80bac66d0db921ddbbe3c8d37198455c19302a29da1a434708c35c79d/catkin_pkg-1.1.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/57/b0/0e52c878c53f245edd3a11020f20979b3f490f245af532c7cae3027754b5/idna-3.19-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl - - pypi: https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/af/40/791891d4c0c4dab4c5e187c17261cedc26285fd41541577f900470a45a4d/license_expression-30.4.4-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/e5/ca/78d423b324b8d77900030fa59c4aa9054261ef0925631cd2501dd015b7b7/boolean_py-5.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/e9/40/095ce62fa078483cccc1fa2b36e6bc9580b85422a20ee9f925341c50e44f/charset_normalizer-3.5.1-cp314-cp314-macosx_10_15_universal2.whl - - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl - osx-arm64: - - conda: https://prefix.dev/conda-forge/noarch/ca-certificates-2026.7.22-hbd8a1cb_0.conda - - conda: https://prefix.dev/conda-forge/noarch/python_abi-3.14-9_cp314.conda - - conda: https://prefix.dev/conda-forge/noarch/setuptools-81.0.0-pyh332efcf_0.conda - - conda: https://prefix.dev/conda-forge/noarch/tzdata-2026c-h151e31d_0.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/bzip2-1.0.8-h4e30115_10.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/c-ares-1.34.8-h74c22ad_2.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/cmake-3.31.8-h54ad630_0.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/icu-78.3-py310h579977c_2.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/krb5-1.22.2-h34f8a20_2.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/libcurl-8.22.0-h6651222_0.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/libcxx-23.1.1-h55c6f16_0.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/libedit-3.1.20250104-pl5321h26f1114_1.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/libev-4.33-h1a92334_3.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/libexpat-2.8.1-hf6b4638_1.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/libffi-3.7.0-h47dc5ef_1.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/libiconv-1.18-he4c29f2_3.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/liblzma-5.8.3-h8088a28_1.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/libmpdec-4.0.0-h84a0fba_2.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/libnghttp2-1.68.1-h435687b_1.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/libpsl-0.23.1-hdb0c161_1.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/libpython-3.14.7-h4311e70_106_cp314.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/libsqlite-3.53.4-hca69786_1.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/libssh2-1.11.1-hbf2880b_1.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/libuv-1.52.1-h1a92334_1.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/libzlib-1.3.2-h8088a28_3.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/ncurses-6.6-he64c551_1.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/openssl-3.6.4-h55eecbc_0.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/python-3.14.7-h0ae1c2c_106_cp314.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/rattler-build-0.76.1-h74d5219_0.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/rattler-index-0.31.5-h7b803a5_0.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/readline-8.3-h8b90a29_1.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/rhash-1.4.6-h84a0fba_2.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/tk-8.6.13-hbeba79b_4.conda - - conda: https://prefix.dev/conda-forge/osx-arm64/zstd-1.5.7-hf451053_7.conda - - pypi: git+https://github.com/RoboStack/vinca.git?rev=435ebd63c76c6d52d935b6650724fb03126d4694#435ebd63c76c6d52d935b6650724fb03126d4694 - - pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/12/74/ef303ec980ef962ffe548fa36cb138bb399d1d1315731ba7bb81da85f7e0/rosdistro-1.1.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/12/b3/231ffd4ab1fc9d679809f356cebee130ac7daa00d6d6f3206dd4fd137e9e/distro-1.9.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/15/63/327d25d91af32209b394abe5626706c4b7ad5a4812cc464a4e3a2be6916f/rospkg-1.6.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/32/91/30151a39f7570f448ed84529390628a651d7f27c87d73c9b887f8189695e/docutils-0.23-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/35/79/5e2cffa1c77432f11cd93a5351f30732c997a239d3a3090856a72d6d8ba7/ruamel.yaml-0.17.40-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/3b/95/88ed47cb7da88569a78b7d6fb9420298df7e99997810c844a924d96d3c08/empy-3.3.4.tar.gz - - pypi: https://files.pythonhosted.org/packages/3f/53/b5e80bac66d0db921ddbbe3c8d37198455c19302a29da1a434708c35c79d/catkin_pkg-1.1.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/57/b0/0e52c878c53f245edd3a11020f20979b3f490f245af532c7cae3027754b5/idna-3.19-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/63/34/ba1c580383c9eada3711951fef0795c80b829a078d72188184bcab9dd527/packaging-26.3-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/71/46/17f022dd3e953bf20a04a028a21ec746d942f8d2af30fa0f124fa0e6a684/pygments-2.21.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/7f/3e/5db95bcf282c52709639744ca2a8b149baccf648e39c8cc87553df9eae0c/urllib3-2.7.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/82/3b/64d4899d73f91ba49a8c18a8ff3f0ea8f1c1d75481760df8c68ef5235bf5/rich-15.0.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/8d/09/d0a2a14fc3439c5f874042dca72a79c70a532090b7ba0003be73fee37ae2/zstandard-0.25.0-cp314-cp314-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/9e/c9/b2622292ea83fbb4ec318f5b9ab867d0a28ab43c5717bb85b0a5f6b3b0a4/networkx-3.6.1-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/a0/f4/c67b0b3f1b9245e8d266f0f112c500d50e5b4e83cb6f3b71b6528104182a/requests-2.34.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/af/40/791891d4c0c4dab4c5e187c17261cedc26285fd41541577f900470a45a4d/license_expression-30.4.4-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/b3/38/89ba8ad64ae25be8de66a6d463314cf1eb366222074cfda9ee839c56a4b4/mdurl-0.1.2-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/b3/81/4da04ced5a082363ecfa159c010d200ecbd959ae410c10c0264a38cac0f5/markdown_it_py-4.2.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl - - pypi: https://files.pythonhosted.org/packages/e5/ca/78d423b324b8d77900030fa59c4aa9054261ef0925631cd2501dd015b7b7/boolean_py-5.0-py3-none-any.whl - - pypi: https://files.pythonhosted.org/packages/e9/40/095ce62fa078483cccc1fa2b36e6bc9580b85422a20ee9f925341c50e44f/charset_normalizer-3.5.1-cp314-cp314-macosx_10_15_universal2.whl - - pypi: https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl win-64: - conda: https://prefix.dev/conda-forge/noarch/ca-certificates-2026.7.22-h4c7d964_0.conda - conda: https://prefix.dev/conda-forge/noarch/m2-msys2-runtime-3.6.1.4-hc364b38_6.conda @@ -336,7 +336,7 @@ environments: - conda: https://prefix.dev/conda-forge/win-64/vc14_runtime-14.51.36247-habf1de7_41.conda - conda: https://prefix.dev/conda-forge/win-64/vcomp14-14.51.36247-habf1de7_41.conda - conda: https://prefix.dev/conda-forge/win-64/zstd-1.5.7-h534d264_7.conda - - pypi: git+https://github.com/RoboStack/vinca.git?rev=435ebd63c76c6d52d935b6650724fb03126d4694#435ebd63c76c6d52d935b6650724fb03126d4694 + - pypi: git+https://github.com/RoboStack/vinca.git?rev=5767846ab2557b4e358e11a5f07c7743df3ede4e#5767846ab2557b4e358e11a5f07c7743df3ede4e - pypi: https://files.pythonhosted.org/packages/0b/a7/71ac2cff56fec219ed242bb11b8efb69fcc4bec75db06fb7bfe35de520e6/certifi-2026.7.22-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/10/bd/c038d7cc38edc1aa5bf91ab8068b63d4308c66c4c8bb3cbba7dfbc049f9c/pyparsing-3.3.2-py3-none-any.whl - pypi: https://files.pythonhosted.org/packages/12/74/ef303ec980ef962ffe548fa36cb138bb399d1d1315731ba7bb81da85f7e0/rosdistro-1.1.0-py3-none-any.whl @@ -2869,7 +2869,7 @@ packages: - zstd >=1.5.7,<1.6.0a0 size: 387535 timestamp: 1786599623274 -- pypi: git+https://github.com/RoboStack/vinca.git?rev=435ebd63c76c6d52d935b6650724fb03126d4694#435ebd63c76c6d52d935b6650724fb03126d4694 +- pypi: git+https://github.com/RoboStack/vinca.git?rev=5767846ab2557b4e358e11a5f07c7743df3ede4e#5767846ab2557b4e358e11a5f07c7743df3ede4e name: vinca version: 0.2.0 requires_dist: diff --git a/pixi.toml b/pixi.toml index 62bf4d6d..3015398e 100644 --- a/pixi.toml +++ b/pixi.toml @@ -28,7 +28,7 @@ git = "*" [pypi-dependencies] # This is typically the latest commit on main branch -vinca = { git = "https://github.com/RoboStack/vinca.git", rev = "435ebd63c76c6d52d935b6650724fb03126d4694" } +vinca = { git = "https://github.com/RoboStack/vinca.git", rev = "5767846ab2557b4e358e11a5f07c7743df3ede4e" } # Uncomment this line to work with a local vinca for faster iteration, but remember to comment it back # (and regenerate the pixi.lock) once you push the modified commit to the repo # vinca = { path = "../vinca", editable = true } @@ -47,6 +47,12 @@ cmd = "rattler-build build --recipe-dir ./recipes -m ./conda_build_config.yaml - depends-on = ["generate-recipes"] description = "Build all packages, from the ./recipes dir. This will skip already existing packages, so it can be used to build only a subset of packages by first removing the recipes of the packages you want to rebuild (see `pixi remove-recipes`)." +[tasks.build-up-to] +cmd = "rattler-build build --recipe-dir ./recipes --up-to {{ PACKAGE }} -m ./conda_build_config.yaml -c https://prefix.dev/robostack-lyrical -c https://prefix.dev/conda-forge --skip-existing {{ EXTRA_ARGS }}" +depends-on = ["generate-recipes"] +args = [{ arg = "PACKAGE" }, { arg = "EXTRA_ARGS", default = "" }] +description = "Build the dependency chain up to a package, from the ./recipes dir. Pass the package name as a positional argument, e.g. `pixi run build-up-to ros2-desktop`" + [tasks.remove-recipes] cmd = "rm -rf recipes_only_patch; rm -rf recipes; mkdir recipes" description = "Remove all generated recipes, before regenerating them." @@ -54,4 +60,4 @@ description = "Remove all generated recipes, before regenerating them." [tasks.build-one] cmd = "cp ./patch/{{ PACKAGE }}.*patch ./recipes/{{ PACKAGE }}/patch/; rattler-build build --recipe ./recipes/{{ PACKAGE }}/recipe.yaml -m ./conda_build_config.yaml -c https://prefix.dev/robostack-lyrical -c https://prefix.dev/conda-forge" args = [{ arg = "PACKAGE", default = "ros-lyrical-ros-workspace" }] -description = "Build a single package, from the ./recipes dir. Add the `ros-lyrical-` prefix to the package name, e.g. `pixi build-one --package ros-lyrical-ros-workspace`" +description = "Build a single package, from the ./recipes dir. Add the `ros2-` prefix to the package name, e.g. `pixi build-one --package ros2-ros-workspace`" diff --git a/pkg_additional_info.yaml b/pkg_additional_info.yaml index 7766c395..869fa59a 100644 --- a/pkg_additional_info.yaml +++ b/pkg_additional_info.yaml @@ -25,6 +25,8 @@ data_tamer_cpp: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" diagnostic_aggregator: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" +diagnostic_updater: + additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" eigenpy: generate_dummy_package_with_run_deps: dep_name: eigenpy @@ -189,6 +191,8 @@ roboplan_toppra: generate_dummy_package_with_run_deps: dep_name: roboplan-toppra-python max_pin: 'x.x' +robot_state_publisher: + additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" rosx_introspection: additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" rviz_ogre_vendor: @@ -233,11 +237,3 @@ visp: zenoh_cpp_vendor: additional_cmake_args: "-DAMENT_VENDOR_POLICY=NEVER_VENDOR_IGNORE_SATISFIED_CHECK -DUSE_SYSTEM_ZENOH=ON" # Remove build_number fields below on new full rebuild -diagnostic_updater: - additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" - build_number: 26 -robot_state_publisher: - additional_cmake_args: "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON" - build_number: 26 -tf2_ros: - build_number: 26 diff --git a/rosdistro_snapshot.yaml b/rosdistro_snapshot.yaml index efea4a0c..c643c404 100644 --- a/rosdistro_snapshot.yaml +++ b/rosdistro_snapshot.yaml @@ -1,4 +1,4 @@ -# Snapshot generated by vinca-snapshot on 2026-09-04T15:35:38Z UTC for distro lyrical +# Snapshot generated by vinca-snapshot on 2026-09-28T04:32:17Z UTC for distro lyrical acado_vendor: dependencies: - ament_cmake @@ -308,9 +308,9 @@ ament_cmake_catch2: - ament_cmake_core - ament_cmake_test repository: https://github.com/open-rmf/ament_cmake_catch2 - tag: release/lyrical/ament_cmake_catch2/1.5.0-3 + tag: release/lyrical/ament_cmake_catch2/1.6.0-1 url: https://github.com/ros2-gbp/ament_cmake_catch2-release.git - version: 1.5.0 + version: 1.6.0 ament_cmake_clang_format: dependencies: - ament_clang_format @@ -752,6 +752,19 @@ ament_mypy: tag: release/lyrical/ament_mypy/0.20.6-1 url: https://github.com/ros2-gbp/ament_lint-release.git version: 0.20.6 +ament_nodl: + dependencies: + - ament_cmake + - ament_cmake_pytest + - launch + - launch_ros + - launch_testing + - launch_testing_ament_cmake + - ros2nodl + repository: https://github.com/ros-tooling/nodl + tag: release/lyrical/ament_nodl/2.0.3-1 + url: https://github.com/ros2-gbp/nodl-release.git + version: 2.0.3 ament_package: dependencies: [] repository: https://github.com/ament/ament_package @@ -1111,9 +1124,9 @@ audio_capture: - rclcpp - rclcpp_components repository: https://github.com/ros-drivers/audio_common - tag: release/lyrical/audio_capture/0.4.0-2 + tag: release/lyrical/audio_capture/0.4.1-1 url: https://github.com/ros2-gbp/audio_common-release.git - version: 0.4.0 + version: 0.4.1 audio_common: dependencies: - ament_cmake @@ -1123,9 +1136,9 @@ audio_common: - sound_play - sound_play_msgs repository: https://github.com/ros-drivers/audio_common - tag: release/lyrical/audio_common/0.4.0-2 + tag: release/lyrical/audio_common/0.4.1-1 url: https://github.com/ros2-gbp/audio_common-release.git - version: 0.4.0 + version: 0.4.1 audio_common_msgs: dependencies: - ament_cmake @@ -1133,9 +1146,9 @@ audio_common_msgs: - rosidl_default_runtime - std_msgs repository: https://github.com/ros-drivers/audio_common - tag: release/lyrical/audio_common_msgs/0.4.0-2 + tag: release/lyrical/audio_common_msgs/0.4.1-1 url: https://github.com/ros2-gbp/audio_common-release.git - version: 0.4.0 + version: 0.4.1 audio_play: dependencies: - ament_cmake @@ -1144,9 +1157,9 @@ audio_play: - rclcpp - rclcpp_components repository: https://github.com/ros-drivers/audio_common - tag: release/lyrical/audio_play/0.4.0-2 + tag: release/lyrical/audio_play/0.4.1-1 url: https://github.com/ros2-gbp/audio_common-release.git - version: 0.4.0 + version: 0.4.1 auto_apms_behavior_tree: dependencies: - ament_cmake @@ -2051,6 +2064,13 @@ boost_geometry_util: tag: release/lyrical/boost_geometry_util/0.0.1-6 url: https://github.com/ros2-gbp/boost_geometry_util-release.git version: 0.0.1 +boost_plugin_loader: + dependencies: + - ros_industrial_cmake_boilerplate + repository: https://github.com/tesseract-robotics/boost_plugin_loader + tag: release/lyrical/boost_plugin_loader/0.4.5-1 + url: https://github.com/ros2-gbp/boost_plugin_loader-release.git + version: 0.4.5 boost_sml_vendor: dependencies: - ament_cmake @@ -2473,9 +2493,9 @@ chomp_motion_planner: - rsl - trajectory_msgs repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/chomp_motion_planner/2.15.1-1 + tag: release/lyrical/chomp_motion_planner/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 class_loader: dependencies: - ament_cmake @@ -2536,6 +2556,32 @@ clips_vendor: tag: release/lyrical/clips_vendor/6.4.4-1 url: https://github.com/ros2-gbp/clips_vendor-release.git version: 6.4.4 +cloudini_lib: + dependencies: + - ament_cmake + - ament_cmake_gtest + repository: https://github.com/facontidavide/cloudini + tag: release/lyrical/cloudini_lib/1.3.0-1 + url: https://github.com/facontidavide/cloudini-release.git + version: 1.3.0 +cloudini_ros: + dependencies: + - ament_cmake + - ament_lint_auto + - ament_lint_common + - cloudini_lib + - pcl_conversions + - pluginlib + - point_cloud_interfaces + - point_cloud_transport + - rclcpp + - rclcpp_components + - rosbag2_cpp + - sensor_msgs + repository: https://github.com/facontidavide/cloudini + tag: release/lyrical/cloudini_ros/1.3.0-1 + url: https://github.com/facontidavide/cloudini-release.git + version: 1.3.0 cm_topic_hardware_component: dependencies: - ament_cmake @@ -2777,9 +2823,9 @@ controller_interface: - sensor_msgs - std_msgs repository: https://github.com/ros-controls/ros2_control - tag: release/lyrical/controller_interface/6.10.0-1 + tag: release/lyrical/controller_interface/6.10.1-1 url: https://github.com/ros2-gbp/ros2_control-release.git - version: 6.10.0 + version: 6.10.1 controller_manager: dependencies: - ament_cmake @@ -2799,6 +2845,7 @@ controller_manager: - launch - launch_ros - launch_testing + - launch_testing_ament_cmake - launch_testing_ros - libstatistics_collector - lifecycle_msgs @@ -2815,9 +2862,9 @@ controller_manager: - sensor_msgs - std_msgs repository: https://github.com/ros-controls/ros2_control - tag: release/lyrical/controller_manager/6.10.0-1 + tag: release/lyrical/controller_manager/6.10.1-1 url: https://github.com/ros2-gbp/ros2_control-release.git - version: 6.10.0 + version: 6.10.1 controller_manager_msgs: dependencies: - ament_cmake @@ -2827,9 +2874,9 @@ controller_manager_msgs: - rosidl_default_runtime - std_msgs repository: https://github.com/ros-controls/ros2_control - tag: release/lyrical/controller_manager_msgs/6.10.0-1 + tag: release/lyrical/controller_manager_msgs/6.10.1-1 url: https://github.com/ros2-gbp/ros2_control-release.git - version: 6.10.0 + version: 6.10.1 costmap_queue: dependencies: - ament_cmake @@ -2842,9 +2889,9 @@ costmap_queue: - nav2_costmap_2d - rclcpp repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/costmap_queue/1.5.1-1 + tag: release/lyrical/costmap_queue/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 cras_bag_tools: dependencies: - ament_cmake @@ -3408,9 +3455,9 @@ data_tamer_tools: - tf2_msgs - visualization_msgs repository: https://gitlab.com/jlack/data_tamer_tools - tag: release/lyrical/data_tamer_tools/0.10.0-1 + tag: release/lyrical/data_tamer_tools/0.11.0-1 url: https://github.com/ros2-gbp/data_tamer_tools-release.git - version: 0.10.0 + version: 0.11.0 dataspeed_can: dependencies: - ament_cmake @@ -3419,9 +3466,9 @@ dataspeed_can: - dataspeed_can_tools - dataspeed_can_usb repository: https://bitbucket.org/dataspeedinc/dataspeed_can - tag: release/lyrical/dataspeed_can/2.0.7-1 + tag: release/lyrical/dataspeed_can/2.0.8-1 url: https://github.com/DataspeedInc-release/dataspeed_can-release.git - version: 2.0.7 + version: 2.0.8 dataspeed_can_msg_filters: dependencies: - ament_cmake @@ -3429,9 +3476,9 @@ dataspeed_can_msg_filters: - can_msgs - rclcpp repository: https://bitbucket.org/dataspeedinc/dataspeed_can - tag: release/lyrical/dataspeed_can_msg_filters/2.0.7-1 + tag: release/lyrical/dataspeed_can_msg_filters/2.0.8-1 url: https://github.com/DataspeedInc-release/dataspeed_can-release.git - version: 2.0.7 + version: 2.0.8 dataspeed_can_msgs: dependencies: - ament_cmake @@ -3439,9 +3486,9 @@ dataspeed_can_msgs: - rosidl_default_runtime - std_msgs repository: https://bitbucket.org/dataspeedinc/dataspeed_can - tag: release/lyrical/dataspeed_can_msgs/2.0.7-1 + tag: release/lyrical/dataspeed_can_msgs/2.0.8-1 url: https://github.com/DataspeedInc-release/dataspeed_can-release.git - version: 2.0.7 + version: 2.0.8 dataspeed_can_tools: dependencies: - ament_cmake @@ -3452,9 +3499,9 @@ dataspeed_can_tools: - rosbag2_cpp - std_msgs repository: https://bitbucket.org/dataspeedinc/dataspeed_can - tag: release/lyrical/dataspeed_can_tools/2.0.7-1 + tag: release/lyrical/dataspeed_can_tools/2.0.8-1 url: https://github.com/DataspeedInc-release/dataspeed_can-release.git - version: 2.0.7 + version: 2.0.8 dataspeed_can_usb: dependencies: - ament_cmake @@ -3463,11 +3510,13 @@ dataspeed_can_usb: - lusb - rclcpp - rclcpp_components + - rosidl_default_generators + - rosidl_default_runtime - std_msgs repository: https://bitbucket.org/dataspeedinc/dataspeed_can - tag: release/lyrical/dataspeed_can_usb/2.0.7-1 + tag: release/lyrical/dataspeed_can_usb/2.0.8-1 url: https://github.com/DataspeedInc-release/dataspeed_can-release.git - version: 2.0.7 + version: 2.0.8 delphi_esr_msgs: dependencies: - ament_cmake @@ -3594,9 +3643,9 @@ depthai: - ament_cmake - ros_environment repository: https://github.com/luxonis/depthai-core - tag: release/lyrical/depthai/3.9.0-2 + tag: release/lyrical/depthai/3.10.0-1 url: https://github.com/luxonis/depthai-core-release.git - version: 3.9.0 + version: 3.10.0 depthai-ros: dependencies: - ament_cmake @@ -4040,9 +4089,9 @@ dual_arm_panda_moveit_config: - topic_tools - xacro repository: https://github.com/ros-planning/moveit_resources - tag: release/lyrical/dual_arm_panda_moveit_config/3.2.0-1 + tag: release/lyrical/dual_arm_panda_moveit_config/3.2.1-1 url: https://github.com/ros2-gbp/moveit_resources-release.git - version: 3.2.0 + version: 3.2.1 dual_laser_merger: dependencies: - ament_cmake @@ -4136,9 +4185,9 @@ dwb_core: - tf2_ros - visualization_msgs repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/dwb_core/1.5.1-1 + tag: release/lyrical/dwb_core/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 dwb_critics: dependencies: - ament_cmake @@ -4163,9 +4212,9 @@ dwb_critics: - tf2 - tf2_geometry_msgs repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/dwb_critics/1.5.1-1 + tag: release/lyrical/dwb_critics/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 dwb_msgs: dependencies: - ament_cmake @@ -4178,9 +4227,9 @@ dwb_msgs: - rosidl_default_runtime - std_msgs repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/dwb_msgs/1.5.1-1 + tag: release/lyrical/dwb_msgs/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 dwb_plugins: dependencies: - ament_cmake @@ -4203,9 +4252,9 @@ dwb_plugins: - rclcpp - rclcpp_lifecycle repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/dwb_plugins/1.5.1-1 + tag: release/lyrical/dwb_plugins/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 dynamixel_hardware: dependencies: - ament_cmake @@ -5948,9 +5997,9 @@ examples_tf2_py: - sensor_msgs - tf2_ros_py repository: https://github.com/ros2/geometry2 - tag: release/lyrical/examples_tf2_py/0.45.9-1 + tag: release/lyrical/examples_tf2_py/0.45.10-1 url: https://github.com/ros2-gbp/geometry2-release.git - version: 0.45.9 + version: 0.45.10 executive_smach: dependencies: - ament_cmake @@ -5961,6 +6010,27 @@ executive_smach: tag: release/lyrical/executive_smach/3.0.3-4 url: https://github.com/ros2-gbp/executive_smach-release.git version: 3.0.3 +fadecandy_driver: + dependencies: + - ament_cmake + - diagnostic_updater + - fadecandy_msgs + - rclcpp + - rclpy + repository: https://github.com/eurogroep/fadecandy_ros + tag: release/lyrical/fadecandy_driver/1.0.2-1 + url: https://github.com/eurogroep/fadecandy_ros-release.git + version: 1.0.2 +fadecandy_msgs: + dependencies: + - ament_cmake + - rosidl_default_generators + - rosidl_default_runtime + - std_msgs + repository: https://github.com/eurogroep/fadecandy_ros + tag: release/lyrical/fadecandy_msgs/1.0.2-1 + url: https://github.com/eurogroep/fadecandy_ros-release.git + version: 1.0.2 fastcdr: dependencies: [] repository: https://github.com/eProsima/Fast-CDR @@ -6249,9 +6319,9 @@ fields2cover: dependencies: - ortools_vendor repository: https://github.com/Fields2Cover/fields2cover - tag: release/lyrical/fields2cover/2.0.0-18 + tag: release/lyrical/fields2cover/2.1.1-1 url: https://github.com/ros2-gbp/fields2cover-release.git - version: 2.0.0 + version: 2.1.1 filters: dependencies: - ament_cmake @@ -7005,9 +7075,9 @@ geometry2: - tf2_sensor_msgs - tf2_tools repository: https://github.com/ros2/geometry2 - tag: release/lyrical/geometry2/0.45.9-1 + tag: release/lyrical/geometry2/0.45.10-1 url: https://github.com/ros2-gbp/geometry2-release.git - version: 0.45.9 + version: 0.45.10 geometry_msgs: dependencies: - ament_cmake @@ -7248,20 +7318,25 @@ gtest_vendor: gtsam: dependencies: [] repository: https://github.com/borglab/gtsam - tag: release/lyrical/gtsam/4.3.0-5 + tag: release/lyrical/gtsam/4.3.1-2 url: https://github.com/ros2-gbp/gtsam-release.git - version: 4.3.0 + version: 4.3.1 gtsam2mrpt_serial: dependencies: - gtsam - mola_common - - mrpt_libbase - - mrpt_libmath - - mrpt_libposes + - mrpt_containers + - mrpt_io + - mrpt_math + - mrpt_poses + - mrpt_random + - mrpt_rtti + - mrpt_serialization + - mrpt_system repository: https://github.com/MRPT/gtsam2mrpt_serial - tag: release/lyrical/gtsam2mrpt_serial/0.2.0-3 + tag: release/lyrical/gtsam2mrpt_serial/0.4.0-1 url: https://github.com/ros2-gbp/gtsam2mrpt_serial-release.git - version: 0.2.0 + version: 0.4.0 gurumdds_cmake_module: dependencies: - ament_cmake @@ -7629,9 +7704,9 @@ hardware_interface: - sdformat_urdf - urdf repository: https://github.com/ros-controls/ros2_control - tag: release/lyrical/hardware_interface/6.10.0-1 + tag: release/lyrical/hardware_interface/6.10.1-1 url: https://github.com/ros2-gbp/ros2_control-release.git - version: 6.10.0 + version: 6.10.1 hardware_interface_testing: dependencies: - ament_cmake @@ -7644,9 +7719,9 @@ hardware_interface_testing: - ros2_control_cmake - ros2_control_test_assets repository: https://github.com/ros-controls/ros2_control - tag: release/lyrical/hardware_interface_testing/6.10.0-1 + tag: release/lyrical/hardware_interface_testing/6.10.1-1 url: https://github.com/ros2-gbp/ros2_control-release.git - version: 6.10.0 + version: 6.10.1 hash_library_vendor: dependencies: - ament_cmake_auto @@ -8122,9 +8197,9 @@ int2dds_ffi_vendor: dependencies: - ament_cmake repository: https://github.com/IntellectusCorp/rmw_int2dds - tag: release/lyrical/int2dds_ffi_vendor/0.1.3-1 + tag: release/lyrical/int2dds_ffi_vendor/0.1.7-1 url: https://github.com/ros2-gbp/rmw_int2dds-release.git - version: 0.1.3 + version: 0.1.7 interactive_marker_twist_server: dependencies: - ament_cmake @@ -8247,9 +8322,9 @@ joint_limits: - trajectory_msgs - urdf repository: https://github.com/ros-controls/ros2_control - tag: release/lyrical/joint_limits/6.10.0-1 + tag: release/lyrical/joint_limits/6.10.1-1 url: https://github.com/ros2-gbp/ros2_control-release.git - version: 6.10.0 + version: 6.10.1 joint_state_broadcaster: dependencies: - ament_cmake @@ -8435,9 +8510,9 @@ jsk_common_msgs: - ros_environment - speech_recognition_msgs repository: https://github.com/jsk-ros-pkg/jsk_common_msgs - tag: release/lyrical/jsk_common_msgs/5.0.1-3 + tag: release/lyrical/jsk_common_msgs/5.0.2-1 url: https://github.com/tork-a/jsk_common_msgs-release.git - version: 5.0.1 + version: 5.0.2 jsk_footstep_msgs: dependencies: - ament_cmake @@ -8450,9 +8525,9 @@ jsk_footstep_msgs: - rosidl_default_runtime - std_msgs repository: https://github.com/jsk-ros-pkg/jsk_common_msgs - tag: release/lyrical/jsk_footstep_msgs/5.0.1-3 + tag: release/lyrical/jsk_footstep_msgs/5.0.2-1 url: https://github.com/tork-a/jsk_common_msgs-release.git - version: 5.0.1 + version: 5.0.2 jsk_gui_msgs: dependencies: - ament_cmake @@ -8465,9 +8540,9 @@ jsk_gui_msgs: - sensor_msgs - std_msgs repository: https://github.com/jsk-ros-pkg/jsk_common_msgs - tag: release/lyrical/jsk_gui_msgs/5.0.1-3 + tag: release/lyrical/jsk_gui_msgs/5.0.2-1 url: https://github.com/tork-a/jsk_common_msgs-release.git - version: 5.0.1 + version: 5.0.2 jsk_hark_msgs: dependencies: - ament_cmake @@ -8478,9 +8553,9 @@ jsk_hark_msgs: - rosidl_default_runtime - std_msgs repository: https://github.com/jsk-ros-pkg/jsk_common_msgs - tag: release/lyrical/jsk_hark_msgs/5.0.1-3 + tag: release/lyrical/jsk_hark_msgs/5.0.2-1 url: https://github.com/tork-a/jsk_common_msgs-release.git - version: 5.0.1 + version: 5.0.2 kartech_linear_actuator_msgs: dependencies: - ament_cmake @@ -8687,13 +8762,12 @@ kinova_gen3_lite_moveit_config: kitti_metrics_eval: dependencies: - mola_common - - mrpt_libmath - - mrpt_libposes - - mrpt_libtclap + - mrpt_math + - mrpt_poses repository: https://github.com/MOLAorg/mola_academic_datasets - tag: release/lyrical/kitti_metrics_eval/3.0.0-1 + tag: release/lyrical/kitti_metrics_eval/3.1.0-1 url: https://github.com/ros2-gbp/mola_academic_datasets-release.git - version: 3.0.0 + version: 3.1.0 kobuki_core: dependencies: - ament_cmake_ros @@ -9532,15 +9606,16 @@ libg2o: libmavconn: dependencies: - ament_cmake + - ament_cmake_google_benchmark - ament_cmake_gtest - ament_cmake_pytest - ament_lint_auto - ament_lint_common - mavlink repository: https://github.com/mavlink/mavros - tag: release/lyrical/libmavconn/2.15.1-1 + tag: release/lyrical/libmavconn/2.16.0-1 url: https://github.com/ros2-gbp/mavros-release.git - version: 2.15.1 + version: 2.16.0 libphidget22: dependencies: - ament_cmake @@ -9686,9 +9761,9 @@ linear_feedback_controller_msgs: - std_msgs - tf2_eigen repository: https://github.com/loco-3d/linear-feedback-controller-msgs - tag: release/lyrical/linear_feedback_controller_msgs/1.2.2-3 + tag: release/lyrical/linear_feedback_controller_msgs/1.3.0-1 url: https://github.com/ros2-gbp/linear-feedback-controller-msgs-release.git - version: 1.2.2 + version: 1.3.0 linux_isolate_process: dependencies: - ament_copyright @@ -9761,9 +9836,9 @@ lz4_cmake_module: - ament_lint_auto - ament_lint_common repository: https://github.com/ros2/rosbag2 - tag: release/lyrical/lz4_cmake_module/0.33.3-1 + tag: release/lyrical/lz4_cmake_module/0.33.4-1 url: https://github.com/ros2-gbp/rosbag2-release.git - version: 0.33.3 + version: 0.33.4 magic_enum: dependencies: [] repository: https://github.com/Neargye/magic_enum @@ -9875,6 +9950,7 @@ mapviz: - image_transport - mapviz_interfaces - pluginlib + - qt_gui_cpp - rclcpp - rqt_gui - rqt_gui_cpp @@ -9885,19 +9961,19 @@ mapviz: - tf2_geometry_msgs - tf2_ros repository: https://github.com/swri-robotics/mapviz - tag: release/lyrical/mapviz/4.0.3-1 + tag: release/lyrical/mapviz/4.1.0-1 url: https://github.com/ros2-gbp/mapviz-release.git - version: 4.0.3 + version: 4.1.0 mapviz_interfaces: dependencies: - - builtin_interfaces + - ament_cmake - marti_common_msgs - rosidl_default_generators - rosidl_default_runtime repository: https://github.com/swri-robotics/mapviz - tag: release/lyrical/mapviz_interfaces/4.0.3-1 + tag: release/lyrical/mapviz_interfaces/4.1.0-1 url: https://github.com/ros2-gbp/mapviz-release.git - version: 4.0.3 + version: 4.1.0 mapviz_plugins: dependencies: - ament_cmake @@ -9912,25 +9988,26 @@ mapviz_plugins: - marti_nav_msgs - marti_sensor_msgs - marti_visualization_msgs + - nav2_msgs + - nav_msgs - pluginlib - - qt_gui_cpp - rclcpp - rclcpp_action - sensor_msgs - std_msgs - - std_srvs - stereo_msgs - swri_image_util - swri_math_util - swri_route_util - swri_transform_util - tf2 + - tf2_geometry_msgs - urdf - visualization_msgs repository: https://github.com/swri-robotics/mapviz - tag: release/lyrical/mapviz_plugins/4.0.3-1 + tag: release/lyrical/mapviz_plugins/4.1.0-1 url: https://github.com/ros2-gbp/mapviz-release.git - version: 4.0.3 + version: 4.1.0 marine_acoustic_msgs: dependencies: - ament_cmake @@ -10071,9 +10148,9 @@ mavlink: dependencies: - ament_cmake - ros_environment - tag: release/lyrical/mavlink/2026.8.8-1 + tag: release/lyrical/mavlink/2026.9.9-1 url: https://github.com/ros2-gbp/mavlink-gbp-release.git - version: 2026.8.8 + version: 2026.9.9 mavros: dependencies: - ament_cmake @@ -10097,6 +10174,7 @@ mavros: - message_filters - nav_msgs - pluginlib + - rcl - rclcpp - rclcpp_components - rclpy @@ -10109,9 +10187,9 @@ mavros: - tf2_ros - trajectory_msgs repository: https://github.com/mavlink/mavros - tag: release/lyrical/mavros/2.15.1-1 + tag: release/lyrical/mavros/2.16.0-1 url: https://github.com/ros2-gbp/mavros-release.git - version: 2.15.1 + version: 2.16.0 mavros_examples: dependencies: - ament_cmake @@ -10128,9 +10206,9 @@ mavros_examples: - std_srvs - trajectory_msgs repository: https://github.com/mavlink/mavros - tag: release/lyrical/mavros_examples/2.15.1-1 + tag: release/lyrical/mavros_examples/2.16.0-1 url: https://github.com/ros2-gbp/mavros-release.git - version: 2.15.1 + version: 2.16.0 mavros_extras: dependencies: - ament_cmake @@ -10169,9 +10247,9 @@ mavros_extras: - visualization_msgs - yaml_cpp_vendor repository: https://github.com/mavlink/mavros - tag: release/lyrical/mavros_extras/2.15.1-1 + tag: release/lyrical/mavros_extras/2.16.0-1 url: https://github.com/ros2-gbp/mavros-release.git - version: 2.15.1 + version: 2.16.0 mavros_msgs: dependencies: - ament_cmake @@ -10184,9 +10262,9 @@ mavros_msgs: - rosidl_default_runtime - sensor_msgs repository: https://github.com/mavlink/mavros - tag: release/lyrical/mavros_msgs/2.15.1-1 + tag: release/lyrical/mavros_msgs/2.16.0-1 url: https://github.com/ros2-gbp/mavros-release.git - version: 2.15.1 + version: 2.16.0 mbf_abstract_core: dependencies: - ament_cmake @@ -10295,9 +10373,9 @@ mcap_vendor: - lz4_cmake_module - zstd_cmake_module repository: https://github.com/ros2/rosbag2 - tag: release/lyrical/mcap_vendor/0.33.3-1 + tag: release/lyrical/mcap_vendor/0.33.4-1 url: https://github.com/ros2-gbp/rosbag2-release.git - version: 0.33.3 + version: 0.33.4 mecanum_drive_controller: dependencies: - ament_cmake @@ -10330,9 +10408,9 @@ menge_vendor: dependencies: - ament_cmake repository: https://github.com/open-rmf/menge_vendor - tag: release/lyrical/menge_vendor/1.3.0-3 + tag: release/lyrical/menge_vendor/1.4.0-1 url: https://github.com/ros2-gbp/menge_vendor-release.git - version: 1.3.0 + version: 1.4.0 message_filters: dependencies: - ament_cmake_gtest @@ -10550,9 +10628,9 @@ mola: - mola_viz - mola_yaml repository: https://github.com/MOLAorg/mola - tag: release/lyrical/mola/3.2.0-1 + tag: release/lyrical/mola/3.3.0-1 url: https://github.com/ros2-gbp/mola-release.git - version: 3.2.0 + version: 3.3.0 mola_academic_datasets: dependencies: - kitti_metrics_eval @@ -10562,9 +10640,9 @@ mola_academic_datasets: - mola_input_mulran_dataset - mola_input_paris_luco_dataset repository: https://github.com/MOLAorg/mola_academic_datasets - tag: release/lyrical/mola_academic_datasets/3.0.0-1 + tag: release/lyrical/mola_academic_datasets/3.1.0-1 url: https://github.com/ros2-gbp/mola_academic_datasets-release.git - version: 3.0.0 + version: 3.1.0 mola_bridge_ros2: dependencies: - ament_cmake @@ -10580,8 +10658,8 @@ mola_bridge_ros2: - mola_common - mola_kernel - mola_msgs - - mrpt_libmaps - mrpt_libros_bridge + - mrpt_maps - mrpt_nav_interfaces - nav_msgs - rclcpp @@ -10590,9 +10668,9 @@ mola_bridge_ros2: - tf2 - tf2_geometry_msgs repository: https://github.com/MOLAorg/mola - tag: release/lyrical/mola_bridge_ros2/3.2.0-1 + tag: release/lyrical/mola_bridge_ros2/3.3.0-1 url: https://github.com/ros2-gbp/mola-release.git - version: 3.2.0 + version: 3.3.0 mola_common: dependencies: - ament_cmake @@ -10615,9 +10693,9 @@ mola_demos: - ament_lint_auto - ros_environment repository: https://github.com/MOLAorg/mola - tag: release/lyrical/mola_demos/3.2.0-1 + tag: release/lyrical/mola_demos/3.3.0-1 url: https://github.com/ros2-gbp/mola-release.git - version: 3.2.0 + version: 3.3.0 mola_georeferencing: dependencies: - gtsam @@ -10625,91 +10703,99 @@ mola_georeferencing: - mola_gtsam_factors - mola_yaml - mp2p_icp - - mrpt_libmaps - - mrpt_libtclap + - mrpt_maps repository: https://github.com/MOLAorg/mola_state_estimation - tag: release/lyrical/mola_georeferencing/2.4.2-1 + tag: release/lyrical/mola_georeferencing/3.0.0-1 url: https://github.com/ros2-gbp/mola_state_estimation-release.git - version: 2.4.2 + version: 3.0.0 mola_gnss_to_markers: dependencies: - ament_cmake - - ament_cmake_lint_cmake - ament_cmake_xmllint - ament_lint_auto - - mrpt_libobs - mrpt_nav_interfaces + - mrpt_topography - rclcpp + - sensor_msgs - std_msgs - visualization_msgs repository: https://github.com/MOLAorg/mola_gnss_to_markers - tag: release/lyrical/mola_gnss_to_markers/0.1.2-3 + tag: release/lyrical/mola_gnss_to_markers/0.2.0-1 url: https://github.com/ros2-gbp/mola_gnss_to_markers-release.git - version: 0.1.2 + version: 0.2.0 mola_gtsam_factors: dependencies: - gtsam - mola_common - - mrpt_libposes + - mrpt_poses repository: https://github.com/MOLAorg/mola_state_estimation - tag: release/lyrical/mola_gtsam_factors/2.4.2-1 + tag: release/lyrical/mola_gtsam_factors/3.0.0-1 url: https://github.com/ros2-gbp/mola_state_estimation-release.git - version: 2.4.2 + version: 3.0.0 mola_imu_preintegration: dependencies: - mola_common - - mrpt_libobs + - mrpt_containers + - mrpt_obs + - mrpt_poses repository: https://github.com/MOLAorg/mola_imu_preintegration - tag: release/lyrical/mola_imu_preintegration/1.17.1-1 + tag: release/lyrical/mola_imu_preintegration/3.0.0-1 url: https://github.com/ros2-gbp/mola_imu_preintegration-release.git - version: 1.17.1 + version: 3.0.0 mola_input_euroc_dataset: dependencies: - mola_common - mola_kernel - - mrpt_libmath - - mrpt_libobs + - mrpt_math + - mrpt_obs repository: https://github.com/MOLAorg/mola_academic_datasets - tag: release/lyrical/mola_input_euroc_dataset/3.0.0-1 + tag: release/lyrical/mola_input_euroc_dataset/3.1.0-1 url: https://github.com/ros2-gbp/mola_academic_datasets-release.git - version: 3.0.0 + version: 3.1.0 mola_input_kitti360_dataset: dependencies: - mola_common - mola_kernel - - mrpt_libmaps + - mrpt_maps + - mrpt_math repository: https://github.com/MOLAorg/mola_academic_datasets - tag: release/lyrical/mola_input_kitti360_dataset/3.0.0-1 + tag: release/lyrical/mola_input_kitti360_dataset/3.1.0-1 url: https://github.com/ros2-gbp/mola_academic_datasets-release.git - version: 3.0.0 + version: 3.1.0 mola_input_kitti_dataset: dependencies: - mola_common - mola_kernel - - mrpt_libmaps + - mrpt_maps + - mrpt_math repository: https://github.com/MOLAorg/mola_academic_datasets - tag: release/lyrical/mola_input_kitti_dataset/3.0.0-1 + tag: release/lyrical/mola_input_kitti_dataset/3.1.0-1 url: https://github.com/ros2-gbp/mola_academic_datasets-release.git - version: 3.0.0 + version: 3.1.0 mola_input_lidar_bin_dataset: dependencies: - mola_common - mola_kernel - - mrpt_libmaps + - mola_yaml + - mrpt_core + - mrpt_maps + - mrpt_obs + - mrpt_system repository: https://github.com/MOLAorg/mola - tag: release/lyrical/mola_input_lidar_bin_dataset/3.2.0-1 + tag: release/lyrical/mola_input_lidar_bin_dataset/3.3.0-1 url: https://github.com/ros2-gbp/mola-release.git - version: 3.2.0 + version: 3.3.0 mola_input_mulran_dataset: dependencies: - mola_common - mola_kernel - - mrpt_libmaps - - mrpt_libposes + - mrpt_maps + - mrpt_math + - mrpt_poses repository: https://github.com/MOLAorg/mola_academic_datasets - tag: release/lyrical/mola_input_mulran_dataset/3.0.0-1 + tag: release/lyrical/mola_input_mulran_dataset/3.1.0-1 url: https://github.com/ros2-gbp/mola_academic_datasets-release.git - version: 3.0.0 + version: 3.1.0 mola_input_ouster: dependencies: - mola_kernel @@ -10724,68 +10810,70 @@ mola_input_paris_luco_dataset: dependencies: - mola_common - mola_kernel - - mrpt_libmaps + - mrpt_maps + - mrpt_math repository: https://github.com/MOLAorg/mola_academic_datasets - tag: release/lyrical/mola_input_paris_luco_dataset/3.0.0-1 + tag: release/lyrical/mola_input_paris_luco_dataset/3.1.0-1 url: https://github.com/ros2-gbp/mola_academic_datasets-release.git - version: 3.0.0 + version: 3.1.0 mola_input_rawlog: dependencies: - mola_kernel - - mrpt_libobs + - mrpt_obs repository: https://github.com/MOLAorg/mola - tag: release/lyrical/mola_input_rawlog/3.2.0-1 + tag: release/lyrical/mola_input_rawlog/3.3.0-1 url: https://github.com/ros2-gbp/mola-release.git - version: 3.2.0 + version: 3.3.0 mola_input_rosbag1: dependencies: - geometry_msgs - mola_common - mola_kernel - - mrpt_libmaps - - mrpt_libobs + - mrpt_maps + - mrpt_obs - tf2 - tf2_geometry_msgs - tf2_ros repository: https://github.com/MOLAorg/mola_input_rosbag1 - tag: release/lyrical/mola_input_rosbag1/0.4.0-1 + tag: release/lyrical/mola_input_rosbag1/0.5.0-1 url: https://github.com/ros2-gbp/mola_input_rosbag1-release.git - version: 0.4.0 + version: 0.5.0 mola_input_rosbag2: dependencies: - cv_bridge - gps_msgs - mola_kernel - - mrpt_libobs - mrpt_libros_bridge + - mrpt_obs - rosbag2_cpp - sensor_msgs - tf2_geometry_msgs - tf2_msgs - tf2_ros repository: https://github.com/MOLAorg/mola - tag: release/lyrical/mola_input_rosbag2/3.2.0-1 + tag: release/lyrical/mola_input_rosbag2/3.3.0-1 url: https://github.com/ros2-gbp/mola-release.git - version: 3.2.0 + version: 3.3.0 mola_input_video: dependencies: - mola_kernel - - mrpt_libhwdrivers - - mrpt_libobs + - mrpt_hwdrivers + - mrpt_obs repository: https://github.com/MOLAorg/mola - tag: release/lyrical/mola_input_video/3.2.0-1 + tag: release/lyrical/mola_input_video/3.3.0-1 url: https://github.com/ros2-gbp/mola-release.git - version: 3.2.0 + version: 3.3.0 mola_kernel: dependencies: - mola_common - mola_yaml - - mrpt_libmaps - - mrpt_libobs + - mrpt_maps + - mrpt_obs + - mrpt_topography repository: https://github.com/MOLAorg/mola - tag: release/lyrical/mola_kernel/3.2.0-1 + tag: release/lyrical/mola_kernel/3.3.0-1 url: https://github.com/ros2-gbp/mola-release.git - version: 3.2.0 + version: 3.3.0 mola_launcher: dependencies: - ament_cmake @@ -10794,12 +10882,12 @@ mola_launcher: - ament_cmake_xmllint - ament_lint_auto - mola_kernel - - mrpt_libbase + - mrpt_core - ros_environment repository: https://github.com/MOLAorg/mola - tag: release/lyrical/mola_launcher/3.2.0-1 + tag: release/lyrical/mola_launcher/3.3.0-1 url: https://github.com/ros2-gbp/mola-release.git - version: 3.2.0 + version: 3.3.0 mola_lidar_odometry: dependencies: - ament_cmake @@ -10815,6 +10903,7 @@ mola_lidar_odometry: - mola_input_mulran_dataset - mola_input_paris_luco_dataset - mola_input_rawlog + - mola_input_rosbag1 - mola_input_rosbag2 - mola_kernel - mola_launcher @@ -10827,13 +10916,14 @@ mola_lidar_odometry: - mola_viz_imgui - mola_yaml - mp2p_icp - - mrpt_libmaps + - mrpt_maps + - mrpt_obs - ros_environment - rosbag2_storage_mcap repository: https://github.com/MOLAorg/mola_lidar_odometry - tag: release/lyrical/mola_lidar_odometry/3.2.0-1 + tag: release/lyrical/mola_lidar_odometry/3.3.0-1 url: https://github.com/ros2-gbp/mola_lidar_odometry-release.git - version: 3.2.0 + version: 3.3.0 mola_metric_maps: dependencies: - ament_cmake @@ -10843,14 +10933,16 @@ mola_metric_maps: - ament_lint_common - mola_common - mola_kernel + - mola_test_datasets - mp2p_icp - - mrpt_libmaps + - mrpt_maps + - mrpt_viz - nanoflann_vendor - ros_environment repository: https://github.com/MOLAorg/mola - tag: release/lyrical/mola_metric_maps/3.2.0-1 + tag: release/lyrical/mola_metric_maps/3.3.0-1 url: https://github.com/ros2-gbp/mola-release.git - version: 3.2.0 + version: 3.3.0 mola_msgs: dependencies: - action_msgs @@ -10860,31 +10952,30 @@ mola_msgs: - rosidl_default_generators - rosidl_default_runtime repository: https://github.com/MOLAorg/mola - tag: release/lyrical/mola_msgs/3.2.0-1 + tag: release/lyrical/mola_msgs/3.3.0-1 url: https://github.com/ros2-gbp/mola-release.git - version: 3.2.0 + version: 3.3.0 mola_pose_list: dependencies: - mola_common - - mrpt_libmaps - - mrpt_libposes + - mrpt_maps + - mrpt_poses repository: https://github.com/MOLAorg/mola - tag: release/lyrical/mola_pose_list/3.2.0-1 + tag: release/lyrical/mola_pose_list/3.3.0-1 url: https://github.com/ros2-gbp/mola-release.git - version: 3.2.0 + version: 3.3.0 mola_relocalization: dependencies: - mola_common - mola_pose_list - mola_test_datasets - mp2p_icp - - mrpt_libmaps - - mrpt_libobs - - mrpt_libslam + - mrpt_maps + - mrpt_obs repository: https://github.com/MOLAorg/mola - tag: release/lyrical/mola_relocalization/3.2.0-1 + tag: release/lyrical/mola_relocalization/3.3.0-1 url: https://github.com/ros2-gbp/mola-release.git - version: 3.2.0 + version: 3.3.0 mola_sm_loop_closure: dependencies: - ament_cmake @@ -10921,19 +11012,20 @@ mola_state_estimation: - mola_state_estimation_simple - mola_state_estimation_smoother repository: https://github.com/MOLAorg/mola_state_estimation - tag: release/lyrical/mola_state_estimation/2.4.2-1 + tag: release/lyrical/mola_state_estimation/3.0.0-1 url: https://github.com/ros2-gbp/mola_state_estimation-release.git - version: 2.4.2 + version: 3.0.0 mola_state_estimation_simple: dependencies: - mola_common - mola_imu_preintegration - mola_kernel - - mrpt_libobs + - mola_yaml + - mrpt_obs repository: https://github.com/MOLAorg/mola_state_estimation - tag: release/lyrical/mola_state_estimation_simple/2.4.2-1 + tag: release/lyrical/mola_state_estimation_simple/3.0.0-1 url: https://github.com/ros2-gbp/mola_state_estimation-release.git - version: 2.4.2 + version: 3.0.0 mola_state_estimation_smoother: dependencies: - ament_cmake @@ -10951,16 +11043,16 @@ mola_state_estimation_smoother: - mola_imu_preintegration - mola_kernel - mola_launcher - - mrpt_libobs + - mrpt_obs - nav_msgs - rclpy - ros_environment - sensor_msgs - tf2_ros repository: https://github.com/MOLAorg/mola_state_estimation - tag: release/lyrical/mola_state_estimation_smoother/2.4.2-1 + tag: release/lyrical/mola_state_estimation_smoother/3.0.0-1 url: https://github.com/ros2-gbp/mola_state_estimation-release.git - version: 2.4.2 + version: 3.0.0 mola_test_datasets: dependencies: - ament_cmake @@ -10978,40 +11070,44 @@ mola_test_datasets: mola_traj_tools: dependencies: - mola_common - - mrpt_libposes + - mrpt_poses repository: https://github.com/MOLAorg/mola - tag: release/lyrical/mola_traj_tools/3.2.0-1 + tag: release/lyrical/mola_traj_tools/3.3.0-1 url: https://github.com/ros2-gbp/mola-release.git - version: 3.2.0 + version: 3.3.0 mola_viz: dependencies: - mola_kernel - - mrpt_libgui - - mrpt_libmaps - - mrpt_libopengl + - mrpt_gui + - mrpt_maps + - mrpt_opengl + - mrpt_viz repository: https://github.com/MOLAorg/mola - tag: release/lyrical/mola_viz/3.2.0-1 + tag: release/lyrical/mola_viz/3.3.0-1 url: https://github.com/ros2-gbp/mola-release.git - version: 3.2.0 + version: 3.3.0 mola_viz_imgui: dependencies: - mola_kernel - - mrpt_libgui - - mrpt_libmaps - - mrpt_libobs - - mrpt_libopengl + - mrpt_gui + - mrpt_imgui + - mrpt_maps + - mrpt_obs + - mrpt_opengl + - mrpt_viz repository: https://github.com/MOLAorg/mola - tag: release/lyrical/mola_viz_imgui/3.2.0-1 + tag: release/lyrical/mola_viz_imgui/3.3.0-1 url: https://github.com/ros2-gbp/mola-release.git - version: 3.2.0 + version: 3.3.0 mola_yaml: dependencies: - mola_common - - mrpt_libbase + - mrpt_containers + - mrpt_system repository: https://github.com/MOLAorg/mola - tag: release/lyrical/mola_yaml/3.2.0-1 + tag: release/lyrical/mola_yaml/3.3.0-1 url: https://github.com/ros2-gbp/mola-release.git - version: 3.2.0 + version: 3.3.0 motion_capture_tracking: dependencies: - ament_cmake @@ -11092,17 +11188,17 @@ moveit: - moveit_ros - moveit_setup_assistant repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit/2.15.1-1 + tag: release/lyrical/moveit/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_common: dependencies: - ament_cmake - backward_ros repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_common/2.15.1-1 + tag: release/lyrical/moveit_common/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_configs_utils: dependencies: - ament_index_python @@ -11111,9 +11207,9 @@ moveit_configs_utils: - launch_ros - srdfdom repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_configs_utils/2.15.1-1 + tag: release/lyrical/moveit_configs_utils/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_core: dependencies: - ament_cmake @@ -11159,9 +11255,9 @@ moveit_core: - urdfdom_headers - visualization_msgs repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_core/2.15.1-1 + tag: release/lyrical/moveit_core/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_hybrid_planning: dependencies: - ament_cmake @@ -11190,9 +11286,9 @@ moveit_hybrid_planning: - tf2_ros - trajectory_msgs repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_hybrid_planning/2.15.1-1 + tag: release/lyrical/moveit_hybrid_planning/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_kinematics: dependencies: - ament_cmake @@ -11217,9 +11313,9 @@ moveit_kinematics: - tf2_kdl - urdfdom repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_kinematics/2.15.1-1 + tag: release/lyrical/moveit_kinematics/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_msgs: dependencies: - action_msgs @@ -11247,9 +11343,9 @@ moveit_planners: - moveit_planners_stomp - pilz_industrial_motion_planner repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_planners/2.15.1-1 + tag: release/lyrical/moveit_planners/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_planners_chomp: dependencies: - ament_cmake @@ -11259,9 +11355,9 @@ moveit_planners_chomp: - pluginlib - rclcpp repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_planners_chomp/2.15.1-1 + tag: release/lyrical/moveit_planners_chomp/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_planners_ompl: dependencies: - ament_cmake @@ -11280,9 +11376,9 @@ moveit_planners_ompl: - tf2_eigen - tf2_ros repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_planners_ompl/2.15.1-1 + tag: release/lyrical/moveit_planners_ompl/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_planners_stomp: dependencies: - ament_cmake @@ -11295,17 +11391,17 @@ moveit_planners_stomp: - tf2_eigen - visualization_msgs repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_planners_stomp/2.15.1-1 + tag: release/lyrical/moveit_planners_stomp/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_plugins: dependencies: - ament_cmake - moveit_simple_controller_manager repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_plugins/2.15.1-1 + tag: release/lyrical/moveit_plugins/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_py: dependencies: - ament_cmake @@ -11319,9 +11415,9 @@ moveit_py: - rclcpp - rclpy repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_py/2.15.1-1 + tag: release/lyrical/moveit_py/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_resources: dependencies: - ament_cmake @@ -11333,16 +11429,16 @@ moveit_resources: - moveit_resources_pr2_description - robot_state_publisher repository: https://github.com/ros-planning/moveit_resources - tag: release/lyrical/moveit_resources/3.2.0-1 + tag: release/lyrical/moveit_resources/3.2.1-1 url: https://github.com/ros2-gbp/moveit_resources-release.git - version: 3.2.0 + version: 3.2.1 moveit_resources_fanuc_description: dependencies: - ament_cmake repository: https://github.com/ros-planning/moveit_resources - tag: release/lyrical/moveit_resources_fanuc_description/3.2.0-1 + tag: release/lyrical/moveit_resources_fanuc_description/3.2.1-1 url: https://github.com/ros2-gbp/moveit_resources-release.git - version: 3.2.0 + version: 3.2.1 moveit_resources_fanuc_moveit_config: dependencies: - ament_cmake @@ -11354,16 +11450,16 @@ moveit_resources_fanuc_moveit_config: - tf2_ros - xacro repository: https://github.com/ros-planning/moveit_resources - tag: release/lyrical/moveit_resources_fanuc_moveit_config/3.2.0-1 + tag: release/lyrical/moveit_resources_fanuc_moveit_config/3.2.1-1 url: https://github.com/ros2-gbp/moveit_resources-release.git - version: 3.2.0 + version: 3.2.1 moveit_resources_panda_description: dependencies: - ament_cmake repository: https://github.com/ros-planning/moveit_resources - tag: release/lyrical/moveit_resources_panda_description/3.2.0-1 + tag: release/lyrical/moveit_resources_panda_description/3.2.1-1 url: https://github.com/ros2-gbp/moveit_resources-release.git - version: 3.2.0 + version: 3.2.1 moveit_resources_panda_moveit_config: dependencies: - ament_cmake @@ -11377,16 +11473,16 @@ moveit_resources_panda_moveit_config: - topic_tools - xacro repository: https://github.com/ros-planning/moveit_resources - tag: release/lyrical/moveit_resources_panda_moveit_config/3.2.0-1 + tag: release/lyrical/moveit_resources_panda_moveit_config/3.2.1-1 url: https://github.com/ros2-gbp/moveit_resources-release.git - version: 3.2.0 + version: 3.2.1 moveit_resources_pr2_description: dependencies: - ament_cmake repository: https://github.com/ros-planning/moveit_resources - tag: release/lyrical/moveit_resources_pr2_description/3.2.0-1 + tag: release/lyrical/moveit_resources_pr2_description/3.2.1-1 url: https://github.com/ros2-gbp/moveit_resources-release.git - version: 3.2.0 + version: 3.2.1 moveit_resources_prbt_ikfast_manipulator_plugin: dependencies: - ament_cmake @@ -11399,9 +11495,9 @@ moveit_resources_prbt_ikfast_manipulator_plugin: - tf2_geometry_msgs - tf2_kdl repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_resources_prbt_ikfast_manipulator_plugin/2.15.1-1 + tag: release/lyrical/moveit_resources_prbt_ikfast_manipulator_plugin/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_resources_prbt_moveit_config: dependencies: - ament_cmake @@ -11413,9 +11509,9 @@ moveit_resources_prbt_moveit_config: - rviz2 - xacro repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_resources_prbt_moveit_config/2.15.1-1 + tag: release/lyrical/moveit_resources_prbt_moveit_config/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_resources_prbt_pg70_support: dependencies: - ament_cmake @@ -11424,17 +11520,17 @@ moveit_resources_prbt_pg70_support: - moveit_resources_prbt_support - xacro repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_resources_prbt_pg70_support/2.15.1-1 + tag: release/lyrical/moveit_resources_prbt_pg70_support/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_resources_prbt_support: dependencies: - ament_cmake - xacro repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_resources_prbt_support/2.15.1-1 + tag: release/lyrical/moveit_resources_prbt_support/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_ros: dependencies: - ament_cmake @@ -11446,9 +11542,9 @@ moveit_ros: - moveit_ros_visualization - moveit_ros_warehouse repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_ros/2.15.1-1 + tag: release/lyrical/moveit_ros/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_ros_benchmarks: dependencies: - ament_cmake @@ -11462,9 +11558,9 @@ moveit_ros_benchmarks: - rclcpp - tf2_eigen repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_ros_benchmarks/2.15.1-1 + tag: release/lyrical/moveit_ros_benchmarks/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_ros_control_interface: dependencies: - ament_cmake @@ -11476,9 +11572,9 @@ moveit_ros_control_interface: - rclcpp_action - trajectory_msgs repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_ros_control_interface/2.15.1-1 + tag: release/lyrical/moveit_ros_control_interface/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_ros_move_group: dependencies: - ament_cmake @@ -11500,9 +11596,9 @@ moveit_ros_move_group: - tf2_geometry_msgs - tf2_ros repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_ros_move_group/2.15.1-1 + tag: release/lyrical/moveit_ros_move_group/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_ros_occupancy_map_monitor: dependencies: - ament_cmake @@ -11516,9 +11612,9 @@ moveit_ros_occupancy_map_monitor: - rclcpp - tf2_ros repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_ros_occupancy_map_monitor/2.15.1-1 + tag: release/lyrical/moveit_ros_occupancy_map_monitor/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_ros_perception: dependencies: - ament_cmake @@ -11540,9 +11636,9 @@ moveit_ros_perception: - tf2_ros - urdf repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_ros_perception/2.15.1-1 + tag: release/lyrical/moveit_ros_perception/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_ros_planning: dependencies: - ament_cmake @@ -11573,9 +11669,9 @@ moveit_ros_planning: - tf2_ros - urdf repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_ros_planning/2.15.1-1 + tag: release/lyrical/moveit_ros_planning/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_ros_planning_interface: dependencies: - ament_cmake @@ -11602,9 +11698,9 @@ moveit_ros_planning_interface: - tf2_geometry_msgs - tf2_ros repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_ros_planning_interface/2.15.1-1 + tag: release/lyrical/moveit_ros_planning_interface/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_ros_robot_interaction: dependencies: - ament_cmake @@ -11619,9 +11715,9 @@ moveit_ros_robot_interaction: - tf2_geometry_msgs - tf2_ros repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_ros_robot_interaction/2.15.1-1 + tag: release/lyrical/moveit_ros_robot_interaction/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_ros_tests: dependencies: - ament_cmake @@ -11643,9 +11739,9 @@ moveit_ros_tests: - ros_testing - tf2_ros repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_ros_tests/2.15.1-1 + tag: release/lyrical/moveit_ros_tests/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_ros_trajectory_cache: dependencies: - ament_cmake @@ -11670,9 +11766,9 @@ moveit_ros_trajectory_cache: - warehouse_ros_sqlite - xacro repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_ros_trajectory_cache/2.15.1-1 + tag: release/lyrical/moveit_ros_trajectory_cache/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_ros_visualization: dependencies: - ament_cmake @@ -11690,9 +11786,9 @@ moveit_ros_visualization: - rviz2 - tf2_eigen repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_ros_visualization/2.15.1-1 + tag: release/lyrical/moveit_ros_visualization/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_ros_warehouse: dependencies: - ament_cmake @@ -11704,9 +11800,9 @@ moveit_ros_warehouse: - tf2_ros - warehouse_ros repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_ros_warehouse/2.15.1-1 + tag: release/lyrical/moveit_ros_warehouse/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_runtime: dependencies: - ament_cmake @@ -11719,9 +11815,9 @@ moveit_runtime: - moveit_ros_planning_interface - moveit_ros_warehouse repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_runtime/2.15.1-1 + tag: release/lyrical/moveit_runtime/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_servo: dependencies: - ament_cmake @@ -11753,9 +11849,9 @@ moveit_servo: - tf2_ros - trajectory_msgs repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_servo/2.15.1-1 + tag: release/lyrical/moveit_servo/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_setup_app_plugins: dependencies: - ament_cmake_gtest @@ -11767,9 +11863,9 @@ moveit_setup_app_plugins: - pluginlib - rclcpp repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_setup_app_plugins/2.15.1-1 + tag: release/lyrical/moveit_setup_app_plugins/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_setup_assistant: dependencies: - ament_cmake @@ -11785,9 +11881,9 @@ moveit_setup_assistant: - pluginlib - rclcpp repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_setup_assistant/2.15.1-1 + tag: release/lyrical/moveit_setup_assistant/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_setup_controllers: dependencies: - ament_cmake_gtest @@ -11800,9 +11896,9 @@ moveit_setup_controllers: - pluginlib - rclcpp repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_setup_controllers/2.15.1-1 + tag: release/lyrical/moveit_setup_controllers/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_setup_core_plugins: dependencies: - ament_cmake_ros @@ -11814,9 +11910,9 @@ moveit_setup_core_plugins: - srdfdom - urdf repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_setup_core_plugins/2.15.1-1 + tag: release/lyrical/moveit_setup_core_plugins/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_setup_framework: dependencies: - ament_cmake_ros @@ -11832,9 +11928,9 @@ moveit_setup_framework: - srdfdom - urdf repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_setup_framework/2.15.1-1 + tag: release/lyrical/moveit_setup_framework/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_setup_srdf_plugins: dependencies: - ament_cmake_gtest @@ -11843,9 +11939,9 @@ moveit_setup_srdf_plugins: - moveit_setup_framework - pluginlib repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_setup_srdf_plugins/2.15.1-1 + tag: release/lyrical/moveit_setup_srdf_plugins/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_simple_controller_manager: dependencies: - ament_cmake @@ -11856,9 +11952,9 @@ moveit_simple_controller_manager: - rclcpp - rclcpp_action repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/moveit_simple_controller_manager/2.15.1-1 + tag: release/lyrical/moveit_simple_controller_manager/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 moveit_task_constructor_capabilities: dependencies: - ament_cmake @@ -11984,32 +12080,40 @@ mp2p_icp: - mp2p_icp_core - mp2p_icp_viz repository: https://github.com/MOLAorg/mp2p_icp - tag: release/lyrical/mp2p_icp/2.13.1-1 + tag: release/lyrical/mp2p_icp/3.0.0-1 url: https://github.com/ros2-gbp/mp2p_icp-release.git - version: 2.13.1 + version: 3.0.0 mp2p_icp_core: dependencies: - mola_common - mola_imu_preintegration - - mrpt_libbase - - mrpt_libmaps - - mrpt_libobs - - mrpt_libposes + - mrpt_containers + - mrpt_maps + - mrpt_obs + - mrpt_poses + - mrpt_rtti + - mrpt_serialization + - mrpt_system + - mrpt_tfest + - mrpt_topography - ros_environment repository: https://github.com/MOLAorg/mp2p_icp - tag: release/lyrical/mp2p_icp_core/2.13.1-1 + tag: release/lyrical/mp2p_icp_core/3.0.0-1 url: https://github.com/ros2-gbp/mp2p_icp-release.git - version: 2.13.1 + version: 3.0.0 mp2p_icp_viz: dependencies: - mola_common - mp2p_icp_core - - mrpt_libgui + - mrpt_gui + - mrpt_imgui + - mrpt_imgui_vendor + - mrpt_opengl - ros_environment repository: https://github.com/MOLAorg/mp2p_icp - tag: release/lyrical/mp2p_icp_viz/2.13.1-1 + tag: release/lyrical/mp2p_icp_viz/3.0.0-1 url: https://github.com/ros2-gbp/mp2p_icp-release.git - version: 2.13.1 + version: 3.0.0 mp_units_vendor: dependencies: - ament_cmake @@ -12055,9 +12159,9 @@ mrpt_apps_cli: - mrpt_common - mrpt_libapps_cli repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_apps_cli/3.1.3-1 + tag: release/lyrical/mrpt_apps_cli/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_apps_gui: dependencies: - mrpt_common @@ -12066,63 +12170,63 @@ mrpt_apps_gui: - mrpt_libapps_gui - mrpt_nav repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_apps_gui/3.1.3-1 + tag: release/lyrical/mrpt_apps_gui/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_bayes: dependencies: - mrpt_common - mrpt_config - mrpt_math repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_bayes/3.1.3-1 + tag: release/lyrical/mrpt_bayes/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_common: dependencies: [] repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_common/3.1.3-1 + tag: release/lyrical/mrpt_common/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_comms: dependencies: - mrpt_common - mrpt_io - mrpt_poses repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_comms/3.1.3-1 + tag: release/lyrical/mrpt_comms/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_config: dependencies: - mrpt_common - mrpt_expr repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_config/3.1.3-1 + tag: release/lyrical/mrpt_config/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_containers: dependencies: - mrpt_common - mrpt_core - mrpt_typemeta repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_containers/3.1.3-1 + tag: release/lyrical/mrpt_containers/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_core: dependencies: - mrpt_common repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_core/3.1.3-1 + tag: release/lyrical/mrpt_core/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_data: dependencies: [] repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_data/3.1.3-1 + tag: release/lyrical/mrpt_data/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_examples_cpp: dependencies: - mrpt_common @@ -12130,21 +12234,22 @@ mrpt_examples_cpp: - mrpt_graphslam - mrpt_gui - mrpt_imgui + - mrpt_imgui_vendor - mrpt_libapps_cli - mrpt_libapps_gui - mrpt_nav repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_examples_cpp/3.1.3-1 + tag: release/lyrical/mrpt_examples_cpp/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_expr: dependencies: - mrpt_common - mrpt_system repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_expr/3.1.3-1 + tag: release/lyrical/mrpt_expr/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_generic_sensor: dependencies: - ament_cmake @@ -12170,33 +12275,33 @@ mrpt_graphs: - mrpt_poses - mrpt_viz repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_graphs/3.1.3-1 + tag: release/lyrical/mrpt_graphs/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_graphslam: dependencies: - mrpt_gui - mrpt_slam repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_graphslam/3.1.3-1 + tag: release/lyrical/mrpt_graphslam/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_gui: dependencies: - mrpt_opengl repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_gui/3.1.3-1 + tag: release/lyrical/mrpt_gui/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_hwdrivers: dependencies: - mrpt_comms - mrpt_maps - mrpt_viz repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_hwdrivers/3.1.3-1 + tag: release/lyrical/mrpt_hwdrivers/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_img: dependencies: - mrpt_common @@ -12204,32 +12309,40 @@ mrpt_img: - mrpt_io - mrpt_math repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_img/3.1.3-1 + tag: release/lyrical/mrpt_img/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_imgui: dependencies: - mrpt_opengl repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_imgui/3.1.3-1 + tag: release/lyrical/mrpt_imgui/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 +mrpt_imgui_vendor: + dependencies: + - mrpt_common + repository: https://github.com/MRPT/mrpt + tag: release/lyrical/mrpt_imgui_vendor/3.3.0-1 + url: https://github.com/ros2-gbp/mrpt3-release.git + version: 3.3.0 mrpt_io: dependencies: - mrpt_common + - mrpt_serialization - mrpt_system repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_io/3.1.3-1 + tag: release/lyrical/mrpt_io/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_kinematics: dependencies: - mrpt_common - mrpt_viz repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_kinematics/3.1.3-1 + tag: release/lyrical/mrpt_kinematics/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_libapps: dependencies: - mrpt_libgui @@ -12247,17 +12360,17 @@ mrpt_libapps_cli: - mrpt_slam - mrpt_topography repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_libapps_cli/3.1.3-1 + tag: release/lyrical/mrpt_libapps_cli/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_libapps_gui: dependencies: - mrpt_gui - mrpt_libapps_cli repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_libapps_gui/3.1.3-1 + tag: release/lyrical/mrpt_libapps_gui/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_libbase: dependencies: - nanoflann_vendor @@ -12331,11 +12444,10 @@ mrpt_libros_bridge: dependencies: - ament_cmake - ament_cmake_gtest - - cv_bridge - geometry_msgs - gps_msgs - - mrpt_libmaps - - mrpt_libobs + - mrpt_maps + - mrpt_obs - nav_msgs - ros_environment - rosbag2_cpp @@ -12345,9 +12457,9 @@ mrpt_libros_bridge: - tf2 - tf2_geometry_msgs repository: https://github.com/MRPT/mrpt_ros_bridge - tag: release/lyrical/mrpt_libros_bridge/3.5.3-1 + tag: release/lyrical/mrpt_libros_bridge/4.0.0-1 url: https://github.com/ros2-gbp/mrpt_ros_bridge-release.git - version: 3.5.3 + version: 4.0.0 mrpt_libslam: dependencies: - mrpt_libmaps @@ -12388,9 +12500,9 @@ mrpt_maps: - mrpt_graphs - mrpt_obs repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_maps/3.1.3-1 + tag: release/lyrical/mrpt_maps/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_math: dependencies: - mrpt_common @@ -12400,9 +12512,9 @@ mrpt_math: - mrpt_system - nanoflann_vendor repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_math/3.1.3-1 + tag: release/lyrical/mrpt_math/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_msgs: dependencies: - ament_cmake @@ -12444,9 +12556,9 @@ mrpt_nav: - mrpt_maps - mrpt_viz repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_nav/3.1.3-1 + tag: release/lyrical/mrpt_nav/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_nav_interfaces: dependencies: - action_msgs @@ -12484,18 +12596,18 @@ mrpt_obs: - mrpt_tfest - mrpt_viz repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_obs/3.1.3-1 + tag: release/lyrical/mrpt_obs/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_opengl: dependencies: - mrpt_img - mrpt_poses - mrpt_viz repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_opengl/3.1.3-1 + tag: release/lyrical/mrpt_opengl/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_path_planning: dependencies: - mrpt_libgui @@ -12561,16 +12673,16 @@ mrpt_poses: - mrpt_common - mrpt_io repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_poses/3.1.3-1 + tag: release/lyrical/mrpt_poses/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_random: dependencies: - mrpt_common repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_random/3.1.3-1 + tag: release/lyrical/mrpt_random/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_reactivenav2d: dependencies: - ament_cmake @@ -12601,9 +12713,9 @@ mrpt_rtti: - mrpt_core - mrpt_typemeta repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_rtti/3.1.3-1 + tag: release/lyrical/mrpt_rtti/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_sensor_bumblebee_stereo: dependencies: - ament_cmake @@ -12707,41 +12819,41 @@ mrpt_serialization: - mrpt_common - mrpt_rtti repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_serialization/3.1.3-1 + tag: release/lyrical/mrpt_serialization/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_slam: dependencies: - mrpt_maps - mrpt_topography repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_slam/3.1.3-1 + tag: release/lyrical/mrpt_slam/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_system: dependencies: - mrpt_common - mrpt_containers repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_system/3.1.3-1 + tag: release/lyrical/mrpt_system/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_tfest: dependencies: - mrpt_common - mrpt_poses repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_tfest/3.1.3-1 + tag: release/lyrical/mrpt_tfest/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_topography: dependencies: - mrpt_common - mrpt_math repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_topography/3.1.3-1 + tag: release/lyrical/mrpt_topography/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_tps_astar_planner: dependencies: - ament_cmake @@ -12783,18 +12895,18 @@ mrpt_typemeta: dependencies: - mrpt_common repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_typemeta/3.1.3-1 + tag: release/lyrical/mrpt_typemeta/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrpt_viz: dependencies: - mrpt_common - mrpt_img - mrpt_poses repository: https://github.com/MRPT/mrpt - tag: release/lyrical/mrpt_viz/3.1.3-1 + tag: release/lyrical/mrpt_viz/3.3.0-1 url: https://github.com/ros2-gbp/mrpt3-release.git - version: 3.1.3 + version: 3.3.0 mrt_cmake_modules: dependencies: - ament_cmake_core @@ -12809,9 +12921,9 @@ mujoco_3d_lidar: - ament_cmake - mujoco_vendor repository: https://github.com/ros-controls/mujoco_ros2_control - tag: release/lyrical/mujoco_3d_lidar/0.1.1-1 + tag: release/lyrical/mujoco_3d_lidar/0.1.2-1 url: https://github.com/ros2-gbp/mujoco_ros2_control-release.git - version: 0.1.1 + version: 0.1.2 mujoco_ros2_control: dependencies: - ament_cmake @@ -12838,13 +12950,12 @@ mujoco_ros2_control: - rosgraph_msgs - sensor_msgs - std_msgs - - tinyxml2_vendor - transmission_interface - urdfdom_py repository: https://github.com/ros-controls/mujoco_ros2_control - tag: release/lyrical/mujoco_ros2_control/0.1.1-1 + tag: release/lyrical/mujoco_ros2_control/0.1.2-1 url: https://github.com/ros2-gbp/mujoco_ros2_control-release.git - version: 0.1.1 + version: 0.1.2 mujoco_ros2_control_demos: dependencies: - ament_cmake @@ -12860,9 +12971,9 @@ mujoco_ros2_control_demos: - rviz2 - xacro repository: https://github.com/ros-controls/mujoco_ros2_control - tag: release/lyrical/mujoco_ros2_control_demos/0.1.1-1 + tag: release/lyrical/mujoco_ros2_control_demos/0.1.2-1 url: https://github.com/ros2-gbp/mujoco_ros2_control-release.git - version: 0.1.1 + version: 0.1.2 mujoco_ros2_control_msgs: dependencies: - ament_cmake @@ -12875,9 +12986,9 @@ mujoco_ros2_control_msgs: - sensor_msgs - std_msgs repository: https://github.com/ros-controls/mujoco_ros2_control - tag: release/lyrical/mujoco_ros2_control_msgs/0.1.1-1 + tag: release/lyrical/mujoco_ros2_control_msgs/0.1.2-1 url: https://github.com/ros2-gbp/mujoco_ros2_control-release.git - version: 0.1.1 + version: 0.1.2 mujoco_ros2_control_plugins: dependencies: - ament_cmake @@ -12897,9 +13008,9 @@ mujoco_ros2_control_plugins: - std_srvs - visualization_msgs repository: https://github.com/ros-controls/mujoco_ros2_control - tag: release/lyrical/mujoco_ros2_control_plugins/0.1.1-1 + tag: release/lyrical/mujoco_ros2_control_plugins/0.1.2-1 url: https://github.com/ros2-gbp/mujoco_ros2_control-release.git - version: 0.1.1 + version: 0.1.2 mujoco_vendor: dependencies: - ament_cmake @@ -12911,22 +13022,20 @@ mujoco_vendor: multires_image: dependencies: - ament_cmake - - geometry_msgs - gps_msgs - mapviz - mapviz_interfaces - marti_common_msgs - pluginlib - - qt_gui_cpp - rclcpp - rclpy - swri_math_util - swri_transform_util - tf2 repository: https://github.com/swri-robotics/mapviz - tag: release/lyrical/multires_image/4.0.3-1 + tag: release/lyrical/multires_image/4.1.0-1 url: https://github.com/ros2-gbp/mapviz-release.git - version: 4.0.3 + version: 4.1.0 mvsim: dependencies: - ament_cmake @@ -12935,11 +13044,11 @@ mvsim: - ament_cmake_xmllint - ament_lint_auto - ament_lint_common - - mrpt_libgui - - mrpt_libmaps - - mrpt_libposes + - mrpt_gui - mrpt_libros_bridge - - mrpt_libtclap + - mrpt_maps + - mrpt_tfest + - mrpt_topography - nav_msgs - ros2launch - ros_environment @@ -12949,9 +13058,9 @@ mvsim: - tf2_geometry_msgs - visualization_msgs repository: https://github.com/MRPT/mvsim - tag: release/lyrical/mvsim/1.4.0-1 + tag: release/lyrical/mvsim/1.5.0-1 url: https://github.com/ros2-gbp/mvsim-release.git - version: 1.4.0 + version: 1.5.0 nanoeigenpy: dependencies: [] repository: https://github.com/Simple-Robotics/nanoeigenpy @@ -12961,9 +13070,9 @@ nanoeigenpy: nanoflann_vendor: dependencies: [] repository: https://github.com/jlblancoc/nanoflann - tag: release/lyrical/nanoflann_vendor/1.12.1-1 + tag: release/lyrical/nanoflann_vendor/1.14.0-1 url: https://github.com/ros2-gbp/nanoflann-release.git - version: 1.12.1 + version: 1.14.0 nao_button_sim: dependencies: - ament_copyright @@ -13073,9 +13182,9 @@ nav2_amcl: - tf2_geometry_msgs - tf2_ros repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_amcl/1.5.1-1 + tag: release/lyrical/nav2_amcl/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_behavior_tree: dependencies: - action_msgs @@ -13103,9 +13212,9 @@ nav2_behavior_tree: - tf2 - tf2_ros repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_behavior_tree/1.5.1-1 + tag: release/lyrical/nav2_behavior_tree/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_behaviors: dependencies: - ament_cmake @@ -13131,14 +13240,15 @@ nav2_behaviors: - tf2_geometry_msgs - tf2_ros repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_behaviors/1.5.1-1 + tag: release/lyrical/nav2_behaviors/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_bringup: dependencies: - ament_cmake - ament_cmake_gtest - ament_cmake_pytest + - ament_cmake_python - ament_cmake_ros - ament_lint_auto - ament_lint_common @@ -13159,9 +13269,9 @@ nav2_bringup: - slam_toolbox - xacro repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_bringup/1.5.1-1 + tag: release/lyrical/nav2_bringup/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_bt_navigator: dependencies: - ament_cmake @@ -13185,9 +13295,9 @@ nav2_bt_navigator: - rclcpp_lifecycle - tf2_ros repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_bt_navigator/1.5.1-1 + tag: release/lyrical/nav2_bt_navigator/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_collision_monitor: dependencies: - ament_cmake @@ -13216,9 +13326,9 @@ nav2_collision_monitor: - tf2_ros - visualization_msgs repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_collision_monitor/1.5.1-1 + tag: release/lyrical/nav2_collision_monitor/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_common: dependencies: - ament_cmake_core @@ -13232,12 +13342,11 @@ nav2_common: - backward_ros - launch - launch_ros - - osrf_pycommon - rclpy repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_common/1.5.1-1 + tag: release/lyrical/nav2_common/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_constrained_smoother: dependencies: - ament_cmake @@ -13260,9 +13369,9 @@ nav2_constrained_smoother: - rclcpp_lifecycle - tf2_ros repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_constrained_smoother/1.5.1-1 + tag: release/lyrical/nav2_constrained_smoother/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_controller: dependencies: - ament_cmake @@ -13288,9 +13397,9 @@ nav2_controller: - rclcpp_lifecycle - tf2_ros repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_controller/1.5.1-1 + tag: release/lyrical/nav2_controller/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_core: dependencies: - ament_cmake @@ -13310,9 +13419,9 @@ nav2_core: - rclcpp_lifecycle - tf2_ros repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_core/1.5.1-1 + tag: release/lyrical/nav2_core/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_costmap_2d: dependencies: - ament_cmake @@ -13352,9 +13461,9 @@ nav2_costmap_2d: - tf2_sensor_msgs - visualization_msgs repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_costmap_2d/1.5.1-1 + tag: release/lyrical/nav2_costmap_2d/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_dwb_controller: dependencies: - ament_cmake @@ -13368,9 +13477,9 @@ nav2_dwb_controller: - nav_2d_msgs - nav_2d_utils repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_dwb_controller/1.5.1-1 + tag: release/lyrical/nav2_dwb_controller/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_graceful_controller: dependencies: - ament_cmake @@ -13397,9 +13506,9 @@ nav2_graceful_controller: - tf2_ros - visualization_msgs repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_graceful_controller/1.5.1-1 + tag: release/lyrical/nav2_graceful_controller/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_lifecycle_manager: dependencies: - ament_cmake @@ -13423,9 +13532,9 @@ nav2_lifecycle_manager: - rclcpp_lifecycle - std_srvs repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_lifecycle_manager/1.5.1-1 + tag: release/lyrical/nav2_lifecycle_manager/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_loopback_sim: dependencies: - ament_cmake @@ -13449,9 +13558,9 @@ nav2_loopback_sim: - tf2_geometry_msgs - tf2_ros repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_loopback_sim/1.5.1-1 + tag: release/lyrical/nav2_loopback_sim/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_map_server: dependencies: - ament_cmake @@ -13478,9 +13587,9 @@ nav2_map_server: - tf2_ros - yaml_cpp_vendor repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_map_server/1.5.1-1 + tag: release/lyrical/nav2_map_server/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_minimal_tb3_sim: dependencies: - ament_cmake @@ -13551,9 +13660,9 @@ nav2_mppi_controller: - tf2_ros - visualization_msgs repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_mppi_controller/1.5.1-1 + tag: release/lyrical/nav2_mppi_controller/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_msgs: dependencies: - action_msgs @@ -13570,9 +13679,9 @@ nav2_msgs: - std_msgs - unique_identifier_msgs repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_msgs/1.5.1-1 + tag: release/lyrical/nav2_msgs/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_navfn_planner: dependencies: - ament_cmake @@ -13594,9 +13703,9 @@ nav2_navfn_planner: - rclcpp_lifecycle - tf2_ros repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_navfn_planner/1.5.1-1 + tag: release/lyrical/nav2_navfn_planner/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_planner: dependencies: - ament_cmake @@ -13621,9 +13730,9 @@ nav2_planner: - tf2 - tf2_ros repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_planner/1.5.1-1 + tag: release/lyrical/nav2_planner/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_regulated_pure_pursuit_controller: dependencies: - ament_cmake @@ -13650,9 +13759,9 @@ nav2_regulated_pure_pursuit_controller: - tf2_geometry_msgs - tf2_ros repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_regulated_pure_pursuit_controller/1.5.1-1 + tag: release/lyrical/nav2_regulated_pure_pursuit_controller/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_ros_common: dependencies: - ament_cmake @@ -13685,9 +13794,9 @@ nav2_ros_common: - tf2_geometry_msgs - tf2_ros repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_ros_common/1.5.1-1 + tag: release/lyrical/nav2_ros_common/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_rotation_shim_controller: dependencies: - ament_cmake @@ -13713,9 +13822,9 @@ nav2_rotation_shim_controller: - tf2 - tf2_ros repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_rotation_shim_controller/1.5.1-1 + tag: release/lyrical/nav2_rotation_shim_controller/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_route: dependencies: - ament_cmake @@ -13743,9 +13852,9 @@ nav2_route: - tf2_ros - visualization_msgs repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_route/1.5.1-1 + tag: release/lyrical/nav2_route/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_rviz_plugins: dependencies: - ament_cmake @@ -13773,9 +13882,9 @@ nav2_rviz_plugins: - visualization_msgs - yaml_cpp_vendor repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_rviz_plugins/1.5.1-1 + tag: release/lyrical/nav2_rviz_plugins/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_simple_commander: dependencies: - action_msgs @@ -13789,9 +13898,9 @@ nav2_simple_commander: - nav2_msgs - rclpy repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_simple_commander/1.5.1-1 + tag: release/lyrical/nav2_simple_commander/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_smac_planner: dependencies: - ament_cmake @@ -13818,9 +13927,9 @@ nav2_smac_planner: - tf2_ros - visualization_msgs repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_smac_planner/1.5.1-1 + tag: release/lyrical/nav2_smac_planner/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_smoother: dependencies: - ament_cmake @@ -13844,9 +13953,9 @@ nav2_smoother: - tf2 - tf2_ros repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_smoother/1.5.1-1 + tag: release/lyrical/nav2_smoother/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_system_tests: dependencies: - ament_cmake @@ -13884,9 +13993,9 @@ nav2_system_tests: - tf2_ros - visualization_msgs repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_system_tests/1.5.1-1 + tag: release/lyrical/nav2_system_tests/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_theta_star_planner: dependencies: - ament_cmake @@ -13908,9 +14017,9 @@ nav2_theta_star_planner: - rclcpp_lifecycle - tf2_ros repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_theta_star_planner/1.5.1-1 + tag: release/lyrical/nav2_theta_star_planner/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_util: dependencies: - ament_cmake @@ -13941,9 +14050,9 @@ nav2_util: - tf2_msgs - tf2_ros repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_util/1.5.1-1 + tag: release/lyrical/nav2_util/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_velocity_smoother: dependencies: - ament_cmake @@ -13961,9 +14070,9 @@ nav2_velocity_smoother: - rclcpp_components - rclcpp_lifecycle repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_velocity_smoother/1.5.1-1 + tag: release/lyrical/nav2_velocity_smoother/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_voxel_grid: dependencies: - ament_cmake @@ -13975,9 +14084,9 @@ nav2_voxel_grid: - nav2_common - rclcpp repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_voxel_grid/1.5.1-1 + tag: release/lyrical/nav2_voxel_grid/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav2_waypoint_follower: dependencies: - ament_cmake @@ -14006,9 +14115,9 @@ nav2_waypoint_follower: - std_msgs - tf2_ros repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav2_waypoint_follower/1.5.1-1 + tag: release/lyrical/nav2_waypoint_follower/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav_2d_msgs: dependencies: - ament_cmake @@ -14018,9 +14127,9 @@ nav_2d_msgs: - rosidl_default_runtime - std_msgs repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav_2d_msgs/1.5.1-1 + tag: release/lyrical/nav_2d_msgs/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav_2d_utils: dependencies: - ament_cmake @@ -14040,9 +14149,9 @@ nav_2d_utils: - tf2_geometry_msgs - tf2_ros repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/nav_2d_utils/1.5.1-1 + tag: release/lyrical/nav_2d_utils/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 nav_msgs: dependencies: - ament_cmake @@ -14096,9 +14205,9 @@ navigation2: - opennav_docking_core - opennav_following repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/navigation2/1.5.1-1 + tag: release/lyrical/navigation2/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 navmap_core: dependencies: - ament_cmake @@ -14216,9 +14325,9 @@ nlohmann_json_schema_validator_vendor: dependencies: - ament_cmake repository: https://github.com/open-rmf/nlohmann_json_schema_validator_vendor - tag: release/lyrical/nlohmann_json_schema_validator_vendor/0.5.0-3 + tag: release/lyrical/nlohmann_json_schema_validator_vendor/0.6.1-1 url: https://github.com/ros2-gbp/nlohmann_json_schema_validator_vendor-release.git - version: 0.5.0 + version: 0.6.1 nmea_msgs: dependencies: - ament_cmake @@ -14260,17 +14369,83 @@ nobleo_socketcan_bridge: tag: release/lyrical/nobleo_socketcan_bridge/1.0.4-3 url: https://github.com/ros2-gbp/nobleo_socketcan_bridge-release.git version: 1.0.4 -nodl_python: +nodl: + dependencies: + - ament_cmake + - ament_nodl + - nodl_common_interfaces + - nodl_generator_cpp + - nodl_schema + - ros2nodl + repository: https://github.com/ros-tooling/nodl + tag: release/lyrical/nodl/2.0.3-1 + url: https://github.com/ros2-gbp/nodl-release.git + version: 2.0.3 +nodl_common_interfaces: + dependencies: + - ament_cmake + - ament_nodl + repository: https://github.com/ros-tooling/nodl + tag: release/lyrical/nodl_common_interfaces/2.0.3-1 + url: https://github.com/ros2-gbp/nodl-release.git + version: 2.0.3 +nodl_conformance: + dependencies: + - nodl_schema + repository: https://github.com/ros-tooling/nodl + tag: release/lyrical/nodl_conformance/2.0.3-1 + url: https://github.com/ros2-gbp/nodl-release.git + version: 2.0.3 +nodl_docgen: + dependencies: + - nodl_schema + repository: https://github.com/ros-tooling/nodl + tag: release/lyrical/nodl_docgen/2.0.3-1 + url: https://github.com/ros2-gbp/nodl-release.git + version: 2.0.3 +nodl_generator_cpp: + dependencies: + - ament_cmake + - ament_cmake_python + - generate_parameter_library + - generate_parameter_library_py + - nodl_schema + repository: https://github.com/ros-tooling/nodl + tag: release/lyrical/nodl_generator_cpp/2.0.3-1 + url: https://github.com/ros2-gbp/nodl-release.git + version: 2.0.3 +nodl_observe: + dependencies: + - ament_cmake + - ament_cmake_auto + - ament_cmake_gtest + - ament_cmake_pytest + - builtin_interfaces + - example_interfaces + - rcl_action + - rcl_interfaces + - rclcpp + - rclpy + - rmw + - rmw_cyclonedds_cpp + - rmw_fastrtps_cpp + - rmw_implementation_cmake + - rmw_zenoh_cpp + - ros_environment + - rosgraph_msgs + - rosidl_runtime_py + - std_msgs + repository: https://github.com/ros-tooling/nodl + tag: release/lyrical/nodl_observe/2.0.3-1 + url: https://github.com/ros2-gbp/nodl-release.git + version: 2.0.3 +nodl_schema: dependencies: - - ament_flake8 - ament_index_python - - ament_lint_auto - - ament_lint_common - - ament_mypy repository: https://github.com/ros-tooling/nodl - tag: release/lyrical/nodl_python/0.3.1-6 + tag: release/lyrical/nodl_schema/2.0.3-1 url: https://github.com/ros2-gbp/nodl-release.git - version: 0.3.1 + version: 2.0.3 nodl_to_policy: dependencies: - ament_copyright @@ -14279,7 +14454,6 @@ nodl_to_policy: - ament_mypy - ament_pep257 - ament_pycodestyle - - nodl_python - ros2cli - ros2nodl - ros2run @@ -14981,9 +15155,9 @@ opennav_docking: - tf2_ros - yaml_cpp_vendor repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/opennav_docking/1.5.1-1 + tag: release/lyrical/opennav_docking/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 opennav_docking_bt: dependencies: - ament_cmake @@ -15003,9 +15177,9 @@ opennav_docking_bt: - rclcpp - rclcpp_action repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/opennav_docking_bt/1.5.1-1 + tag: release/lyrical/opennav_docking_bt/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 opennav_docking_core: dependencies: - ament_cmake @@ -15019,9 +15193,9 @@ opennav_docking_core: - rclcpp_lifecycle - tf2_ros repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/opennav_docking_core/1.5.1-1 + tag: release/lyrical/opennav_docking_core/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 opennav_following: dependencies: - ament_cmake @@ -15045,9 +15219,9 @@ opennav_following: - tf2_geometry_msgs - tf2_ros repository: https://github.com/ros-planning/navigation2 - tag: release/lyrical/opennav_following/1.5.1-1 + tag: release/lyrical/opennav_following/1.5.2-2 url: https://github.com/ros2-gbp/navigation2-release.git - version: 1.5.1 + version: 1.5.2 openni2_camera: dependencies: - ament_cmake @@ -15649,24 +15823,26 @@ picknik_reset_fault_controller: - controller_interface - example_interfaces - geometry_msgs + - hardware_interface - rclcpp - realtime_tools repository: https://github.com/PickNikRobotics/picknik_controllers - tag: release/lyrical/picknik_reset_fault_controller/0.0.4-4 + tag: release/lyrical/picknik_reset_fault_controller/0.0.5-1 url: https://github.com/ros2-gbp/picknik_controllers-release.git - version: 0.0.4 + version: 0.0.5 picknik_twist_controller: dependencies: - ament_cmake_ros - controller_interface - example_interfaces - geometry_msgs + - hardware_interface - rclcpp - realtime_tools repository: https://github.com/PickNikRobotics/picknik_controllers - tag: release/lyrical/picknik_twist_controller/0.0.4-4 + tag: release/lyrical/picknik_twist_controller/0.0.5-1 url: https://github.com/ros2-gbp/picknik_controllers-release.git - version: 0.0.4 + version: 0.0.5 pid_controller: dependencies: - ament_cmake @@ -15722,9 +15898,9 @@ pilz_industrial_motion_planner: - tf2_kdl - tf2_ros repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/pilz_industrial_motion_planner/2.15.1-1 + tag: release/lyrical/pilz_industrial_motion_planner/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 pilz_industrial_motion_planner_testutils: dependencies: - ament_cmake @@ -15735,9 +15911,9 @@ pilz_industrial_motion_planner_testutils: - rclcpp - tf2_eigen repository: https://github.com/ros-planning/moveit2 - tag: release/lyrical/pilz_industrial_motion_planner_testutils/2.15.1-1 + tag: release/lyrical/pilz_industrial_motion_planner_testutils/2.15.2-1 url: https://github.com/ros2-gbp/moveit2-release.git - version: 2.15.1 + version: 2.15.2 pinocchio: dependencies: - coal @@ -16437,9 +16613,9 @@ posedetection_msgs: - sensor_msgs - std_msgs repository: https://github.com/jsk-ros-pkg/jsk_common_msgs - tag: release/lyrical/posedetection_msgs/5.0.1-3 + tag: release/lyrical/posedetection_msgs/5.0.2-1 url: https://github.com/tork-a/jsk_common_msgs-release.git - version: 5.0.1 + version: 5.0.2 protobuf_comm: dependencies: [] repository: https://github.com/fawkesrobotics/protobuf_comm @@ -16468,15 +16644,15 @@ py_binding_tools: py_trees: dependencies: [] repository: https://github.com/splintered-reality/py_trees - tag: release/lyrical/py_trees/2.5.0-1 + tag: release/lyrical/py_trees/2.6.0-1 url: https://github.com/ros2-gbp/py_trees-release.git - version: 2.5.0 + version: 2.6.0 py_trees_js: dependencies: [] repository: https://github.com/splintered-reality/py_trees_js - tag: release/lyrical/py_trees_js/0.6.7-1 + tag: release/lyrical/py_trees_js/0.7.0-1 url: https://github.com/ros2-gbp/py_trees_js-release.git - version: 0.6.7 + version: 0.7.0 py_trees_ros: dependencies: - geometry_msgs @@ -16491,9 +16667,9 @@ py_trees_ros: - tf2_ros_py - unique_identifier_msgs repository: https://github.com/splintered-reality/py_trees_ros - tag: release/lyrical/py_trees_ros/2.5.0-1 + tag: release/lyrical/py_trees_ros/2.6.0-1 url: https://github.com/ros2-gbp/py_trees_ros-release.git - version: 2.5.0 + version: 2.6.0 py_trees_ros_interfaces: dependencies: - action_msgs @@ -16527,9 +16703,9 @@ py_trees_ros_tutorials: - sensor_msgs - std_msgs repository: https://github.com/splintered-reality/py_trees_ros_tutorials - tag: release/lyrical/py_trees_ros_tutorials/2.5.0-1 + tag: release/lyrical/py_trees_ros_tutorials/2.6.0-1 url: https://github.com/ros2-gbp/py_trees_ros_tutorials-release.git - version: 2.5.0 + version: 2.6.0 py_trees_ros_viewer: dependencies: - py_trees_js @@ -16546,9 +16722,9 @@ pybind11_json_vendor: - ament_cmake_vendor_package - pybind11_vendor repository: https://github.com/open-rmf/pybind11_json_vendor - tag: release/lyrical/pybind11_json_vendor/0.7.0-1 + tag: release/lyrical/pybind11_json_vendor/0.7.1-1 url: https://github.com/ros2-gbp/pybind11_json_vendor-release.git - version: 0.7.0 + version: 0.7.1 pybind11_vendor: dependencies: - ament_cmake @@ -16583,19 +16759,22 @@ pymoveit2: dependencies: - action_msgs - ament_cmake + - ament_cmake_pytest - ament_cmake_python - control_msgs - geometry_msgs - moveit_msgs + - rcl_interfaces - rclpy - sensor_msgs - shape_msgs + - std_msgs - std_srvs - trajectory_msgs repository: https://github.com/AndrejOrsula/pymoveit2 - tag: release/lyrical/pymoveit2/4.2.0-3 + tag: release/lyrical/pymoveit2/5.0.0-1 url: https://github.com/ros2-gbp/pymoveit2-release.git - version: 4.2.0 + version: 5.0.0 python_cmake_module: dependencies: - ament_cmake @@ -17085,9 +17264,9 @@ rcl_logging_syslog: - rcpputils - rcutils repository: https://github.com/fujitatomoya/rcl_logging_syslog - tag: release/lyrical/rcl_logging_syslog/0.1.2-3 + tag: release/lyrical/rcl_logging_syslog/0.2.0-1 url: https://github.com/ros2-gbp/rcl_logging_syslog-release.git - version: 0.1.2 + version: 0.2.0 rcl_yaml_param_parser: dependencies: - ament_cmake_gen_version_h @@ -17532,9 +17711,9 @@ realtime_tools: - ros2_control_cmake - test_msgs repository: https://github.com/ros-controls/realtime_tools - tag: release/lyrical/realtime_tools/5.3.0-1 + tag: release/lyrical/realtime_tools/5.4.0-1 url: https://github.com/ros2-gbp/realtime_tools-release.git - version: 5.3.0 + version: 5.4.0 reductstore_agent: dependencies: - ament_copyright @@ -17640,16 +17819,16 @@ rko_lio: - tf2_ros - tf2_ros_py repository: https://github.com/PRBonn/rko_lio - tag: release/lyrical/rko_lio/0.4.0-1 + tag: release/lyrical/rko_lio/0.4.1-1 url: https://github.com/ros2-gbp/rko_lio-release.git - version: 0.4.0 + version: 0.4.1 rmf_api_msgs: dependencies: - ament_cmake repository: https://github.com/open-rmf/rmf_api_msgs - tag: release/lyrical/rmf_api_msgs/0.5.0-3 + tag: release/lyrical/rmf_api_msgs/0.6.1-1 url: https://github.com/ros2-gbp/rmf_api_msgs-release.git - version: 0.5.0 + version: 0.6.1 rmf_battery: dependencies: - ament_cmake_catch2 @@ -17658,9 +17837,9 @@ rmf_battery: - rmf_traffic - rmf_utils repository: https://github.com/open-rmf/rmf_battery - tag: release/lyrical/rmf_battery/0.4.0-3 + tag: release/lyrical/rmf_battery/0.5.0-1 url: https://github.com/ros2-gbp/rmf_battery-release.git - version: 0.4.0 + version: 0.5.0 rmf_building_map_msgs: dependencies: - ament_cmake @@ -17670,9 +17849,9 @@ rmf_building_map_msgs: - rosidl_default_generators - rosidl_default_runtime repository: https://github.com/open-rmf/rmf_building_map_msgs - tag: release/lyrical/rmf_building_map_msgs/1.5.0-3 + tag: release/lyrical/rmf_building_map_msgs/1.6.0-1 url: https://github.com/ros2-gbp/rmf_building_map_msgs-release.git - version: 1.5.0 + version: 1.6.0 rmf_building_map_tools: dependencies: - ament_index_python @@ -17682,9 +17861,9 @@ rmf_building_map_tools: - rmf_site_map_msgs - std_msgs repository: https://github.com/open-rmf/rmf_traffic_editor - tag: release/lyrical/rmf_building_map_tools/1.14.0-3 + tag: release/lyrical/rmf_building_map_tools/1.14.1-1 url: https://github.com/ros2-gbp/rmf_traffic_editor-release.git - version: 1.14.0 + version: 1.14.1 rmf_building_sim_gz_plugins: dependencies: - ament_cmake @@ -17712,9 +17891,9 @@ rmf_charger_msgs: - rosidl_default_generators - rosidl_default_runtime repository: https://github.com/open-rmf/rmf_internal_msgs - tag: release/lyrical/rmf_charger_msgs/4.0.0-3 + tag: release/lyrical/rmf_charger_msgs/4.1.0-1 url: https://github.com/ros2-gbp/rmf_internal_msgs-release.git - version: 4.0.0 + version: 4.1.0 rmf_charging_schedule: dependencies: - rclpy @@ -17829,9 +18008,9 @@ rmf_dispenser_msgs: - rosidl_default_generators - rosidl_default_runtime repository: https://github.com/open-rmf/rmf_internal_msgs - tag: release/lyrical/rmf_dispenser_msgs/4.0.0-3 + tag: release/lyrical/rmf_dispenser_msgs/4.1.0-1 url: https://github.com/ros2-gbp/rmf_internal_msgs-release.git - version: 4.0.0 + version: 4.1.0 rmf_door_msgs: dependencies: - ament_cmake @@ -17840,9 +18019,9 @@ rmf_door_msgs: - rosidl_default_generators - rosidl_default_runtime repository: https://github.com/open-rmf/rmf_internal_msgs - tag: release/lyrical/rmf_door_msgs/4.0.0-3 + tag: release/lyrical/rmf_door_msgs/4.1.0-1 url: https://github.com/ros2-gbp/rmf_internal_msgs-release.git - version: 4.0.0 + version: 4.1.0 rmf_fleet_adapter: dependencies: - ament_cmake @@ -17894,9 +18073,9 @@ rmf_fleet_msgs: - rosidl_default_generators - rosidl_default_runtime repository: https://github.com/open-rmf/rmf_internal_msgs - tag: release/lyrical/rmf_fleet_msgs/4.0.0-3 + tag: release/lyrical/rmf_fleet_msgs/4.1.0-1 url: https://github.com/ros2-gbp/rmf_internal_msgs-release.git - version: 4.0.0 + version: 4.1.0 rmf_ingestor_msgs: dependencies: - ament_cmake @@ -17906,9 +18085,9 @@ rmf_ingestor_msgs: - rosidl_default_generators - rosidl_default_runtime repository: https://github.com/open-rmf/rmf_internal_msgs - tag: release/lyrical/rmf_ingestor_msgs/4.0.0-3 + tag: release/lyrical/rmf_ingestor_msgs/4.1.0-1 url: https://github.com/ros2-gbp/rmf_internal_msgs-release.git - version: 4.0.0 + version: 4.1.0 rmf_lift_msgs: dependencies: - ament_cmake @@ -17917,9 +18096,9 @@ rmf_lift_msgs: - rosidl_default_generators - rosidl_default_runtime repository: https://github.com/open-rmf/rmf_internal_msgs - tag: release/lyrical/rmf_lift_msgs/4.0.0-3 + tag: release/lyrical/rmf_lift_msgs/4.1.0-1 url: https://github.com/ros2-gbp/rmf_internal_msgs-release.git - version: 4.0.0 + version: 4.1.0 rmf_obstacle_msgs: dependencies: - ament_cmake @@ -17930,9 +18109,9 @@ rmf_obstacle_msgs: - rosidl_default_runtime - std_msgs repository: https://github.com/open-rmf/rmf_internal_msgs - tag: release/lyrical/rmf_obstacle_msgs/4.0.0-3 + tag: release/lyrical/rmf_obstacle_msgs/4.1.0-1 url: https://github.com/ros2-gbp/rmf_internal_msgs-release.git - version: 4.0.0 + version: 4.1.0 rmf_reservation_msgs: dependencies: - ament_cmake @@ -17942,9 +18121,9 @@ rmf_reservation_msgs: - rosidl_default_generators - rosidl_default_runtime repository: https://github.com/open-rmf/rmf_internal_msgs - tag: release/lyrical/rmf_reservation_msgs/4.0.0-3 + tag: release/lyrical/rmf_reservation_msgs/4.1.0-1 url: https://github.com/ros2-gbp/rmf_internal_msgs-release.git - version: 4.0.0 + version: 4.1.0 rmf_reservation_node: dependencies: - ament_cmake @@ -17997,9 +18176,9 @@ rmf_scheduler_msgs: - rosidl_default_generators - rosidl_default_runtime repository: https://github.com/open-rmf/rmf_internal_msgs - tag: release/lyrical/rmf_scheduler_msgs/4.0.0-3 + tag: release/lyrical/rmf_scheduler_msgs/4.1.0-1 url: https://github.com/ros2-gbp/rmf_internal_msgs-release.git - version: 4.0.0 + version: 4.1.0 rmf_site_map_msgs: dependencies: - ament_cmake @@ -18008,9 +18187,9 @@ rmf_site_map_msgs: - rosidl_default_generators - rosidl_default_runtime repository: https://github.com/open-rmf/rmf_internal_msgs - tag: release/lyrical/rmf_site_map_msgs/4.0.0-3 + tag: release/lyrical/rmf_site_map_msgs/4.1.0-1 url: https://github.com/ros2-gbp/rmf_internal_msgs-release.git - version: 4.0.0 + version: 4.1.0 rmf_task: dependencies: - ament_cmake_catch2 @@ -18029,9 +18208,9 @@ rmf_task_msgs: - rosidl_default_generators - rosidl_default_runtime repository: https://github.com/open-rmf/rmf_internal_msgs - tag: release/lyrical/rmf_task_msgs/4.0.0-3 + tag: release/lyrical/rmf_task_msgs/4.1.0-1 url: https://github.com/ros2-gbp/rmf_internal_msgs-release.git - version: 4.0.0 + version: 4.1.0 rmf_task_ros2: dependencies: - ament_cmake @@ -18069,9 +18248,9 @@ rmf_traffic: - eigen3_cmake_module - rmf_utils repository: https://github.com/open-rmf/rmf_traffic - tag: release/lyrical/rmf_traffic/3.8.0-1 + tag: release/lyrical/rmf_traffic/3.8.1-1 url: https://github.com/ros2-gbp/rmf_traffic-release.git - version: 3.8.0 + version: 3.8.1 rmf_traffic_editor: dependencies: - ament_cmake @@ -18079,32 +18258,32 @@ rmf_traffic_editor: - ament_index_cpp - rmf_utils repository: https://github.com/open-rmf/rmf_traffic_editor - tag: release/lyrical/rmf_traffic_editor/1.14.0-3 + tag: release/lyrical/rmf_traffic_editor/1.14.1-1 url: https://github.com/ros2-gbp/rmf_traffic_editor-release.git - version: 1.14.0 + version: 1.14.1 rmf_traffic_editor_assets: dependencies: - ament_cmake repository: https://github.com/open-rmf/rmf_traffic_editor - tag: release/lyrical/rmf_traffic_editor_assets/1.14.0-3 + tag: release/lyrical/rmf_traffic_editor_assets/1.14.1-1 url: https://github.com/ros2-gbp/rmf_traffic_editor-release.git - version: 1.14.0 + version: 1.14.1 rmf_traffic_editor_test_maps: dependencies: - ament_cmake - rmf_building_map_tools - ros2run repository: https://github.com/open-rmf/rmf_traffic_editor - tag: release/lyrical/rmf_traffic_editor_test_maps/1.14.0-3 + tag: release/lyrical/rmf_traffic_editor_test_maps/1.14.1-1 url: https://github.com/ros2-gbp/rmf_traffic_editor-release.git - version: 1.14.0 + version: 1.14.1 rmf_traffic_examples: dependencies: - rmf_traffic repository: https://github.com/open-rmf/rmf_traffic - tag: release/lyrical/rmf_traffic_examples/3.8.0-1 + tag: release/lyrical/rmf_traffic_examples/3.8.1-1 url: https://github.com/ros2-gbp/rmf_traffic-release.git - version: 3.8.0 + version: 3.8.1 rmf_traffic_msgs: dependencies: - ament_cmake @@ -18113,9 +18292,9 @@ rmf_traffic_msgs: - rosidl_default_generators - rosidl_default_runtime repository: https://github.com/open-rmf/rmf_internal_msgs - tag: release/lyrical/rmf_traffic_msgs/4.0.0-3 + tag: release/lyrical/rmf_traffic_msgs/4.1.0-1 url: https://github.com/ros2-gbp/rmf_internal_msgs-release.git - version: 4.0.0 + version: 4.1.0 rmf_traffic_ros2: dependencies: - ament_cmake @@ -18139,9 +18318,9 @@ rmf_utils: - ament_cmake_catch2 - ament_cmake_uncrustify repository: https://github.com/open-rmf/rmf_utils - tag: release/lyrical/rmf_utils/1.8.0-1 + tag: release/lyrical/rmf_utils/1.8.1-1 url: https://github.com/ros2-gbp/rmf_utils-release.git - version: 1.8.0 + version: 1.8.1 rmf_visualization: dependencies: - ament_cmake @@ -18211,9 +18390,9 @@ rmf_visualization_msgs: - rosidl_default_generators - rosidl_default_runtime repository: https://github.com/open-rmf/rmf_visualization_msgs - tag: release/lyrical/rmf_visualization_msgs/1.5.0-3 + tag: release/lyrical/rmf_visualization_msgs/1.6.0-1 url: https://github.com/ros2-gbp/rmf_visualization_msgs-release.git - version: 1.5.0 + version: 1.6.0 rmf_visualization_navgraphs: dependencies: - ament_cmake @@ -18310,9 +18489,9 @@ rmf_workcell_msgs: - rosidl_default_generators - rosidl_default_runtime repository: https://github.com/open-rmf/rmf_internal_msgs - tag: release/lyrical/rmf_workcell_msgs/4.0.0-3 + tag: release/lyrical/rmf_workcell_msgs/4.1.0-1 url: https://github.com/ros2-gbp/rmf_internal_msgs-release.git - version: 4.0.0 + version: 4.1.0 rmw: dependencies: - ament_cmake @@ -18336,9 +18515,9 @@ rmw_connextdds: - ament_lint_common - rmw_connextdds_common repository: https://github.com/ros2/rmw_connextdds - tag: release/lyrical/rmw_connextdds/1.2.7-2 + tag: release/lyrical/rmw_connextdds/1.2.8-1 url: https://github.com/ros2-gbp/rmw_connextdds-release.git - version: 1.2.7 + version: 1.2.8 rmw_connextdds_common: dependencies: - ament_cmake @@ -18359,9 +18538,9 @@ rmw_connextdds_common: - rti_connext_dds_cmake_module - tracetools repository: https://github.com/ros2/rmw_connextdds - tag: release/lyrical/rmw_connextdds_common/1.2.7-2 + tag: release/lyrical/rmw_connextdds_common/1.2.8-1 url: https://github.com/ros2-gbp/rmw_connextdds-release.git - version: 1.2.7 + version: 1.2.8 rmw_cyclonedds_cpp: dependencies: - ament_cmake_ros_core @@ -18442,9 +18621,9 @@ rmw_fastrtps_cpp: - test_msgs - tracetools repository: https://github.com/ros2/rmw_fastrtps - tag: release/lyrical/rmw_fastrtps_cpp/9.4.9-1 + tag: release/lyrical/rmw_fastrtps_cpp/9.4.10-1 url: https://github.com/ros2-gbp/rmw_fastrtps-release.git - version: 9.4.9 + version: 9.4.10 rmw_fastrtps_dynamic_cpp: dependencies: - ament_cmake_gtest @@ -18466,9 +18645,9 @@ rmw_fastrtps_dynamic_cpp: - test_msgs - tracetools repository: https://github.com/ros2/rmw_fastrtps - tag: release/lyrical/rmw_fastrtps_dynamic_cpp/9.4.9-1 + tag: release/lyrical/rmw_fastrtps_dynamic_cpp/9.4.10-1 url: https://github.com/ros2-gbp/rmw_fastrtps-release.git - version: 9.4.9 + version: 9.4.10 rmw_fastrtps_shared_cpp: dependencies: - ament_cmake_gmock @@ -18491,9 +18670,9 @@ rmw_fastrtps_shared_cpp: - rosidl_typesupport_introspection_cpp - tracetools repository: https://github.com/ros2/rmw_fastrtps - tag: release/lyrical/rmw_fastrtps_shared_cpp/9.4.9-1 + tag: release/lyrical/rmw_fastrtps_shared_cpp/9.4.10-1 url: https://github.com/ros2-gbp/rmw_fastrtps-release.git - version: 9.4.9 + version: 9.4.10 rmw_gurumdds_cpp: dependencies: - ament_cmake @@ -18576,9 +18755,9 @@ rmw_int2dds_cpp: - rosidl_typesupport_introspection_cpp - std_msgs repository: https://github.com/IntellectusCorp/rmw_int2dds - tag: release/lyrical/rmw_int2dds_cpp/0.1.3-1 + tag: release/lyrical/rmw_int2dds_cpp/0.1.7-1 url: https://github.com/ros2-gbp/rmw_int2dds-release.git - version: 0.1.3 + version: 0.1.7 rmw_security_common: dependencies: - ament_cmake @@ -18650,9 +18829,9 @@ rmw_zenoh_cpp: - tracetools - zenoh_cpp_vendor repository: https://github.com/ros2/rmw_zenoh - tag: release/lyrical/rmw_zenoh_cpp/0.10.5-1 + tag: release/lyrical/rmw_zenoh_cpp/0.10.6-1 url: https://github.com/ros2-gbp/rmw_zenoh-release.git - version: 0.10.5 + version: 0.10.6 roboplan: dependencies: - ament_cmake @@ -18962,6 +19141,7 @@ robot_state_publisher: - kdl_parser - launch_ros - launch_testing_ament_cmake + - launch_testing_ros - rcl_interfaces - rclcpp - rclcpp_components @@ -18971,9 +19151,9 @@ robot_state_publisher: - tf2_ros_py - urdf repository: https://github.com/ros/robot_state_publisher - tag: release/lyrical/robot_state_publisher/3.5.5-3 + tag: release/lyrical/robot_state_publisher/3.5.6-1 url: https://github.com/ros2-gbp/robot_state_publisher-release.git - version: 3.5.5 + version: 3.5.6 robotiq_controllers: dependencies: - ament_cmake @@ -19019,11 +19199,12 @@ robstride_driver: - ament_cmake - ament_cmake_gtest - can_msgs + - diagnostic_msgs - rclcpp repository: https://github.com/s2015-turtle/robstride_ros2 - tag: release/lyrical/robstride_driver/0.1.2-1 + tag: release/lyrical/robstride_driver/0.2.0-1 url: https://github.com/ros2-gbp/robstride_ros2-release.git - version: 0.1.2 + version: 0.2.0 robstride_examples: dependencies: - ament_cmake @@ -19039,9 +19220,9 @@ robstride_examples: - ros2_socketcan - xacro repository: https://github.com/s2015-turtle/robstride_ros2 - tag: release/lyrical/robstride_examples/0.1.2-1 + tag: release/lyrical/robstride_examples/0.2.0-1 url: https://github.com/ros2-gbp/robstride_ros2-release.git - version: 0.1.2 + version: 0.2.0 robstride_ros2: dependencies: - ament_cmake @@ -19049,9 +19230,9 @@ robstride_ros2: - robstride_examples - robstride_ros2_control repository: https://github.com/s2015-turtle/robstride_ros2 - tag: release/lyrical/robstride_ros2/0.1.2-1 + tag: release/lyrical/robstride_ros2/0.2.0-1 url: https://github.com/ros2-gbp/robstride_ros2-release.git - version: 0.1.2 + version: 0.2.0 robstride_ros2_control: dependencies: - ament_cmake @@ -19061,10 +19242,11 @@ robstride_ros2_control: - rclcpp - rclcpp_lifecycle - robstride_driver + - xacro repository: https://github.com/s2015-turtle/robstride_ros2 - tag: release/lyrical/robstride_ros2_control/0.1.2-1 + tag: release/lyrical/robstride_ros2_control/0.2.0-1 url: https://github.com/ros2-gbp/robstride_ros2-release.git - version: 0.1.2 + version: 0.2.0 ros2_control: dependencies: - ament_cmake @@ -19077,9 +19259,9 @@ ros2_control: - ros2controlcli - transmission_interface repository: https://github.com/ros-controls/ros2_control - tag: release/lyrical/ros2_control/6.10.0-1 + tag: release/lyrical/ros2_control/6.10.1-1 url: https://github.com/ros2-gbp/ros2_control-release.git - version: 6.10.0 + version: 6.10.1 ros2_control_cmake: dependencies: - ament_cmake @@ -19094,9 +19276,9 @@ ros2_control_test_assets: - ament_cmake - ros2_control_cmake repository: https://github.com/ros-controls/ros2_control - tag: release/lyrical/ros2_control_test_assets/6.10.0-1 + tag: release/lyrical/ros2_control_test_assets/6.10.1-1 url: https://github.com/ros2-gbp/ros2_control-release.git - version: 6.10.0 + version: 6.10.1 ros2_controllers: dependencies: - ackermann_steering_controller @@ -19487,9 +19669,9 @@ ros2_socketcan: - rclcpp_lifecycle - ros2_socketcan_msgs repository: https://github.com/autowarefoundation/ros2_socketcan - tag: release/lyrical/ros2_socketcan/1.3.0-3 + tag: release/lyrical/ros2_socketcan/1.4.0-1 url: https://github.com/ros2-gbp/ros2_socketcan-release.git - version: 1.3.0 + version: 1.4.0 ros2_socketcan_msgs: dependencies: - ament_cmake_auto @@ -19499,9 +19681,9 @@ ros2_socketcan_msgs: - rosidl_default_runtime - std_msgs repository: https://github.com/autowarefoundation/ros2_socketcan - tag: release/lyrical/ros2_socketcan_msgs/1.3.0-3 + tag: release/lyrical/ros2_socketcan_msgs/1.4.0-1 url: https://github.com/ros2-gbp/ros2_socketcan-release.git - version: 1.3.0 + version: 1.4.0 ros2acceleration: dependencies: - ament_copyright @@ -19550,9 +19732,9 @@ ros2bag: - rosbag2_storage_default_plugins - rosbag2_test_common repository: https://github.com/ros2/rosbag2 - tag: release/lyrical/ros2bag/0.33.3-1 + tag: release/lyrical/ros2bag/0.33.4-1 url: https://github.com/ros2-gbp/rosbag2-release.git - version: 0.33.3 + version: 0.33.4 ros2cli: dependencies: - ament_copyright @@ -19634,9 +19816,9 @@ ros2controlcli: - ros2param - rosidl_runtime_py repository: https://github.com/ros-controls/ros2_control - tag: release/lyrical/ros2controlcli/6.10.0-1 + tag: release/lyrical/ros2controlcli/6.10.1-1 url: https://github.com/ros2-gbp/ros2_control-release.git - version: 6.10.0 + version: 6.10.1 ros2doctor: dependencies: - ament_copyright @@ -19703,23 +19885,24 @@ ros2launch_security: - ament_pep257 - demo_nodes_py - launch_ros - - nodl_python + - nodl - ros2launch - sros2 repository: https://github.com/osrf/ros2launch_security - tag: release/lyrical/ros2launch_security/1.0.0-6 + tag: release/lyrical/ros2launch_security/1.0.2-1 url: https://github.com/ros2-gbp/ros2launch_security-release.git - version: 1.0.0 + version: 1.0.2 ros2launch_security_examples: dependencies: - ament_cmake - ament_lint_auto - ament_lint_common + - ament_nodl - example_interfaces - launch_testing - launch_testing_ament_cmake - launch_testing_ros - - nodl_python + - nodl - nodl_to_policy - rclcpp - rclcpp_components @@ -19728,9 +19911,9 @@ ros2launch_security_examples: - sensor_msgs - sros2 repository: https://github.com/osrf/ros2launch_security - tag: release/lyrical/ros2launch_security_examples/1.0.0-6 + tag: release/lyrical/ros2launch_security_examples/1.0.2-1 url: https://github.com/ros2-gbp/ros2launch_security-release.git - version: 1.0.0 + version: 1.0.2 ros2lifecycle: dependencies: - ament_copyright @@ -19793,19 +19976,21 @@ ros2node: version: 0.40.9 ros2nodl: dependencies: - - ament_flake8 - ament_index_python - - ament_lint_auto - - ament_lint_common - - ament_mypy - - nodl_python + - builtin_interfaces + - nodl_conformance + - nodl_observe + - nodl_schema + - rcl_interfaces + - rclpy - ros2cli - - ros2pkg - - ros2run + - rosgraph_msgs + - rosidl_runtime_py + - std_msgs repository: https://github.com/ros-tooling/nodl - tag: release/lyrical/ros2nodl/0.3.1-6 + tag: release/lyrical/ros2nodl/2.0.3-1 url: https://github.com/ros2-gbp/nodl-release.git - version: 0.3.1 + version: 2.0.3 ros2param: dependencies: - ament_copyright @@ -19963,9 +20148,9 @@ ros_babel_fish: - rosidl_typesupport_introspection_cpp - std_msgs repository: https://github.com/LOEWE-emergenCITY/ros2_babel_fish - tag: release/lyrical/ros_babel_fish/4.26.43-3 + tag: release/lyrical/ros_babel_fish/4.26.90-1 url: https://github.com/ros2-gbp/ros_babel_fish-release.git - version: 4.26.43 + version: 4.26.90 ros_babel_fish_test_msgs: dependencies: - ament_cmake @@ -19975,13 +20160,14 @@ ros_babel_fish_test_msgs: - rosidl_default_runtime - std_msgs repository: https://github.com/LOEWE-emergenCITY/ros2_babel_fish - tag: release/lyrical/ros_babel_fish_test_msgs/4.26.43-3 + tag: release/lyrical/ros_babel_fish_test_msgs/4.26.90-1 url: https://github.com/ros2-gbp/ros_babel_fish-release.git - version: 4.26.43 + version: 4.26.90 ros_babel_fish_tools: dependencies: - ament_cmake - ament_cmake_gtest + - example_interfaces - geometry_msgs - rclcpp - ros_babel_fish @@ -19989,9 +20175,9 @@ ros_babel_fish_tools: - std_msgs - yaml_cpp_vendor repository: https://github.com/LOEWE-emergenCITY/ros2_babel_fish - tag: release/lyrical/ros_babel_fish_tools/4.26.43-3 + tag: release/lyrical/ros_babel_fish_tools/4.26.90-1 url: https://github.com/ros2-gbp/ros_babel_fish-release.git - version: 4.26.43 + version: 4.26.90 ros_base: dependencies: - ament_cmake @@ -20282,9 +20468,9 @@ rosbag2: - rosbag2_tests - rosbag2_transport repository: https://github.com/ros2/rosbag2 - tag: release/lyrical/rosbag2/0.33.3-1 + tag: release/lyrical/rosbag2/0.33.4-1 url: https://github.com/ros2-gbp/rosbag2-release.git - version: 0.33.3 + version: 0.33.4 rosbag2_compression: dependencies: - ament_cmake @@ -20299,9 +20485,9 @@ rosbag2_compression: - rosbag2_test_common - test_msgs repository: https://github.com/ros2/rosbag2 - tag: release/lyrical/rosbag2_compression/0.33.3-1 + tag: release/lyrical/rosbag2_compression/0.33.4-1 url: https://github.com/ros2-gbp/rosbag2-release.git - version: 0.33.3 + version: 0.33.4 rosbag2_compression_zstd: dependencies: - ament_cmake @@ -20315,9 +20501,9 @@ rosbag2_compression_zstd: - rosbag2_test_common - zstd_cmake_module repository: https://github.com/ros2/rosbag2 - tag: release/lyrical/rosbag2_compression_zstd/0.33.3-1 + tag: release/lyrical/rosbag2_compression_zstd/0.33.4-1 url: https://github.com/ros2-gbp/rosbag2-release.git - version: 0.33.3 + version: 0.33.4 rosbag2_cpp: dependencies: - ament_cmake @@ -20343,9 +20529,9 @@ rosbag2_cpp: - std_msgs - test_msgs repository: https://github.com/ros2/rosbag2 - tag: release/lyrical/rosbag2_cpp/0.33.3-1 + tag: release/lyrical/rosbag2_cpp/0.33.4-1 url: https://github.com/ros2-gbp/rosbag2-release.git - version: 0.33.3 + version: 0.33.4 rosbag2_examples_cpp: dependencies: - ament_cmake @@ -20357,9 +20543,9 @@ rosbag2_examples_cpp: - rosbag2_cpp - rosbag2_transport repository: https://github.com/ros2/rosbag2 - tag: release/lyrical/rosbag2_examples_cpp/0.33.3-1 + tag: release/lyrical/rosbag2_examples_cpp/0.33.4-1 url: https://github.com/ros2-gbp/rosbag2-release.git - version: 0.33.3 + version: 0.33.4 rosbag2_examples_py: dependencies: - ament_copyright @@ -20373,9 +20559,9 @@ rosbag2_examples_py: - rosidl_runtime_py - std_msgs repository: https://github.com/ros2/rosbag2 - tag: release/lyrical/rosbag2_examples_py/0.33.3-1 + tag: release/lyrical/rosbag2_examples_py/0.33.4-1 url: https://github.com/ros2-gbp/rosbag2-release.git - version: 0.33.3 + version: 0.33.4 rosbag2_interfaces: dependencies: - ament_cmake @@ -20385,9 +20571,9 @@ rosbag2_interfaces: - rosidl_default_generators - rosidl_default_runtime repository: https://github.com/ros2/rosbag2 - tag: release/lyrical/rosbag2_interfaces/0.33.3-1 + tag: release/lyrical/rosbag2_interfaces/0.33.4-1 url: https://github.com/ros2-gbp/rosbag2-release.git - version: 0.33.3 + version: 0.33.4 rosbag2_performance_benchmarking: dependencies: - ament_cmake @@ -20410,9 +20596,9 @@ rosbag2_performance_benchmarking: - rosbag2_test_common - sensor_msgs repository: https://github.com/ros2/rosbag2 - tag: release/lyrical/rosbag2_performance_benchmarking/0.33.3-1 + tag: release/lyrical/rosbag2_performance_benchmarking/0.33.4-1 url: https://github.com/ros2-gbp/rosbag2-release.git - version: 0.33.3 + version: 0.33.4 rosbag2_performance_benchmarking_msgs: dependencies: - ament_cmake @@ -20424,9 +20610,9 @@ rosbag2_performance_benchmarking_msgs: - rosidl_default_runtime - rosidl_typesupport_cpp repository: https://github.com/ros2/rosbag2 - tag: release/lyrical/rosbag2_performance_benchmarking_msgs/0.33.3-1 + tag: release/lyrical/rosbag2_performance_benchmarking_msgs/0.33.4-1 url: https://github.com/ros2-gbp/rosbag2-release.git - version: 0.33.3 + version: 0.33.4 rosbag2_py: dependencies: - ament_cmake_python @@ -20447,9 +20633,9 @@ rosbag2_py: - rpyutils - std_msgs repository: https://github.com/ros2/rosbag2 - tag: release/lyrical/rosbag2_py/0.33.3-1 + tag: release/lyrical/rosbag2_py/0.33.4-1 url: https://github.com/ros2-gbp/rosbag2-release.git - version: 0.33.3 + version: 0.33.4 rosbag2_storage: dependencies: - ament_cmake @@ -20464,9 +20650,9 @@ rosbag2_storage: - rosbag2_test_common - yaml_cpp_vendor repository: https://github.com/ros2/rosbag2 - tag: release/lyrical/rosbag2_storage/0.33.3-1 + tag: release/lyrical/rosbag2_storage/0.33.4-1 url: https://github.com/ros2-gbp/rosbag2-release.git - version: 0.33.3 + version: 0.33.4 rosbag2_storage_broll: dependencies: - ament_cmake @@ -20489,9 +20675,9 @@ rosbag2_storage_default_plugins: - rosbag2_storage_mcap - rosbag2_storage_sqlite3 repository: https://github.com/ros2/rosbag2 - tag: release/lyrical/rosbag2_storage_default_plugins/0.33.3-1 + tag: release/lyrical/rosbag2_storage_default_plugins/0.33.4-1 url: https://github.com/ros2-gbp/rosbag2-release.git - version: 0.33.3 + version: 0.33.4 rosbag2_storage_mcap: dependencies: - ament_cmake @@ -20508,9 +20694,9 @@ rosbag2_storage_mcap: - rosbag2_test_common - std_msgs repository: https://github.com/ros2/rosbag2 - tag: release/lyrical/rosbag2_storage_mcap/0.33.3-1 + tag: release/lyrical/rosbag2_storage_mcap/0.33.4-1 url: https://github.com/ros2-gbp/rosbag2-release.git - version: 0.33.3 + version: 0.33.4 rosbag2_storage_sqlite3: dependencies: - ament_cmake @@ -20525,9 +20711,9 @@ rosbag2_storage_sqlite3: - rosbag2_test_common - std_msgs repository: https://github.com/ros2/rosbag2 - tag: release/lyrical/rosbag2_storage_sqlite3/0.33.3-1 + tag: release/lyrical/rosbag2_storage_sqlite3/0.33.4-1 url: https://github.com/ros2-gbp/rosbag2-release.git - version: 0.33.3 + version: 0.33.4 rosbag2_test_common: dependencies: - ament_cmake @@ -20540,9 +20726,9 @@ rosbag2_test_common: - rcutils - test_msgs repository: https://github.com/ros2/rosbag2 - tag: release/lyrical/rosbag2_test_common/0.33.3-1 + tag: release/lyrical/rosbag2_test_common/0.33.4-1 url: https://github.com/ros2-gbp/rosbag2-release.git - version: 0.33.3 + version: 0.33.4 rosbag2_test_msgdefs: dependencies: - ament_cmake @@ -20550,13 +20736,14 @@ rosbag2_test_msgdefs: - ament_lint_common - rosidl_default_generators repository: https://github.com/ros2/rosbag2 - tag: release/lyrical/rosbag2_test_msgdefs/0.33.3-1 + tag: release/lyrical/rosbag2_test_msgdefs/0.33.4-1 url: https://github.com/ros2-gbp/rosbag2-release.git - version: 0.33.3 + version: 0.33.4 rosbag2_tests: dependencies: - ament_cmake - ament_cmake_gmock + - ament_cmake_ros - ament_index_cpp - ament_lint_auto - ament_lint_common @@ -20574,9 +20761,9 @@ rosbag2_tests: - std_msgs - test_msgs repository: https://github.com/ros2/rosbag2 - tag: release/lyrical/rosbag2_tests/0.33.3-1 + tag: release/lyrical/rosbag2_tests/0.33.4-1 url: https://github.com/ros2-gbp/rosbag2-release.git - version: 0.33.3 + version: 0.33.4 rosbag2_to_video: dependencies: - ament_copyright @@ -20617,9 +20804,9 @@ rosbag2_transport: - rosbag2_test_common - test_msgs repository: https://github.com/ros2/rosbag2 - tag: release/lyrical/rosbag2_transport/0.33.3-1 + tag: release/lyrical/rosbag2_transport/0.33.4-1 url: https://github.com/ros2-gbp/rosbag2-release.git - version: 0.33.3 + version: 0.33.4 rosbag2rawlog: dependencies: - ament_cmake @@ -20627,8 +20814,9 @@ rosbag2rawlog: - ament_cmake_xmllint - ament_lint_auto - cv_bridge - - mrpt_libmaps + - mrpt_containers - mrpt_libros_bridge + - mrpt_maps - mrpt_msgs - nav_msgs - rosbag2_cpp @@ -20637,9 +20825,9 @@ rosbag2rawlog: - tf2_msgs - tf2_ros repository: https://github.com/MRPT/mrpt_ros_bridge - tag: release/lyrical/rosbag2rawlog/3.5.3-1 + tag: release/lyrical/rosbag2rawlog/4.0.0-1 url: https://github.com/ros2-gbp/mrpt_ros_bridge-release.git - version: 3.5.3 + version: 4.0.0 rosbag_timing_inspector: dependencies: - ament_cmake @@ -21196,9 +21384,9 @@ rosidl_typesupport_fastrtps_c: - rosidl_typesupport_fastrtps_cpp - rosidl_typesupport_interface repository: https://github.com/ros2/rosidl_typesupport_fastrtps - tag: release/lyrical/rosidl_typesupport_fastrtps_c/3.9.5-3 + tag: release/lyrical/rosidl_typesupport_fastrtps_c/3.9.7-1 url: https://github.com/ros2-gbp/rosidl_typesupport_fastrtps-release.git - version: 3.9.5 + version: 3.9.7 rosidl_typesupport_fastrtps_cpp: dependencies: - ament_cmake @@ -21223,9 +21411,9 @@ rosidl_typesupport_fastrtps_cpp: - rosidl_runtime_cpp - rosidl_typesupport_interface repository: https://github.com/ros2/rosidl_typesupport_fastrtps - tag: release/lyrical/rosidl_typesupport_fastrtps_cpp/3.9.5-3 + tag: release/lyrical/rosidl_typesupport_fastrtps_cpp/3.9.7-1 url: https://github.com/ros2-gbp/rosidl_typesupport_fastrtps-release.git - version: 3.9.5 + version: 3.9.7 rosidl_typesupport_interface: dependencies: - ament_cmake @@ -21720,9 +21908,9 @@ rqt_controller_manager: - rqt_gui - rqt_gui_py repository: https://github.com/ros-controls/ros2_control - tag: release/lyrical/rqt_controller_manager/6.10.0-1 + tag: release/lyrical/rqt_controller_manager/6.10.1-1 url: https://github.com/ros2-gbp/ros2_control-release.git - version: 6.10.0 + version: 6.10.1 rqt_dotgraph: dependencies: - ament_copyright @@ -22489,9 +22677,9 @@ rti_connext_dds_cmake_module: - ament_lint_auto - ament_lint_common repository: https://github.com/ros2/rmw_connextdds - tag: release/lyrical/rti_connext_dds_cmake_module/1.2.7-2 + tag: release/lyrical/rti_connext_dds_cmake_module/1.2.8-1 url: https://github.com/ros2-gbp/rmw_connextdds-release.git - version: 1.2.7 + version: 1.2.8 rtsp_image_transport: dependencies: - ament_cmake @@ -22534,9 +22722,9 @@ rviz2: - rviz_ogre_vendor - sensor_msgs repository: https://github.com/ros2/rviz - tag: release/lyrical/rviz2/15.2.5-1 + tag: release/lyrical/rviz2/15.2.6-1 url: https://github.com/ros2-gbp/rviz-release.git - version: 15.2.5 + version: 15.2.6 rviz_2d_overlay_msgs: dependencies: - ament_cmake @@ -22581,9 +22769,9 @@ rviz_common: - urdf - yaml_cpp_vendor repository: https://github.com/ros2/rviz - tag: release/lyrical/rviz_common/15.2.5-1 + tag: release/lyrical/rviz_common/15.2.6-1 url: https://github.com/ros2-gbp/rviz-release.git - version: 15.2.5 + version: 15.2.6 rviz_default_plugins: dependencies: - ament_cmake_gmock @@ -22616,9 +22804,9 @@ rviz_default_plugins: - urdf - visualization_msgs repository: https://github.com/ros2/rviz - tag: release/lyrical/rviz_default_plugins/15.2.5-1 + tag: release/lyrical/rviz_default_plugins/15.2.6-1 url: https://github.com/ros2-gbp/rviz-release.git - version: 15.2.5 + version: 15.2.6 rviz_imu_plugin: dependencies: - ament_cmake @@ -22669,9 +22857,9 @@ rviz_ogre_vendor: - ament_cmake_xmllint - ament_lint_auto repository: https://github.com/ros2/rviz - tag: release/lyrical/rviz_ogre_vendor/15.2.5-1 + tag: release/lyrical/rviz_ogre_vendor/15.2.6-1 url: https://github.com/ros2-gbp/rviz-release.git - version: 15.2.5 + version: 15.2.6 rviz_rendering: dependencies: - ament_cmake_gmock @@ -22684,9 +22872,9 @@ rviz_rendering: - resource_retriever - rviz_ogre_vendor repository: https://github.com/ros2/rviz - tag: release/lyrical/rviz_rendering/15.2.5-1 + tag: release/lyrical/rviz_rendering/15.2.6-1 url: https://github.com/ros2-gbp/rviz-release.git - version: 15.2.5 + version: 15.2.6 rviz_rendering_tests: dependencies: - ament_cmake @@ -22698,9 +22886,9 @@ rviz_rendering_tests: - resource_retriever - rviz_rendering repository: https://github.com/ros2/rviz - tag: release/lyrical/rviz_rendering_tests/15.2.5-1 + tag: release/lyrical/rviz_rendering_tests/15.2.6-1 url: https://github.com/ros2-gbp/rviz-release.git - version: 15.2.5 + version: 15.2.6 rviz_satellite: dependencies: - ament_cmake @@ -22732,9 +22920,9 @@ rviz_visual_testing_framework: - tf2 - tf2_ros repository: https://github.com/ros2/rviz - tag: release/lyrical/rviz_visual_testing_framework/15.2.5-1 + tag: release/lyrical/rviz_visual_testing_framework/15.2.6-1 url: https://github.com/ros2-gbp/rviz-release.git - version: 15.2.5 + version: 15.2.6 rviz_visual_tools: dependencies: - ament_cmake @@ -23347,15 +23535,18 @@ sound_play: dependencies: - action_msgs - ament_cmake + - ament_cmake_auto + - ament_cmake_gtest - ament_cmake_python - ament_index_python - launch_xml + - rclcpp - rclpy - sound_play_msgs repository: https://github.com/ros-drivers/audio_common - tag: release/lyrical/sound_play/0.4.0-2 + tag: release/lyrical/sound_play/0.4.1-1 url: https://github.com/ros2-gbp/audio_common-release.git - version: 0.4.0 + version: 0.4.1 sound_play_msgs: dependencies: - action_msgs @@ -23364,9 +23555,9 @@ sound_play_msgs: - rosidl_default_generators - rosidl_default_runtime repository: https://github.com/ros-drivers/audio_common - tag: release/lyrical/sound_play_msgs/0.4.0-2 + tag: release/lyrical/sound_play_msgs/0.4.1-1 url: https://github.com/ros2-gbp/audio_common-release.git - version: 0.4.0 + version: 0.4.1 spacenav: dependencies: - ament_cmake @@ -23429,9 +23620,9 @@ speech_recognition_msgs: - rosidl_default_runtime - std_msgs repository: https://github.com/jsk-ros-pkg/jsk_common_msgs - tag: release/lyrical/speech_recognition_msgs/5.0.1-3 + tag: release/lyrical/speech_recognition_msgs/5.0.2-1 url: https://github.com/tork-a/jsk_common_msgs-release.git - version: 5.0.1 + version: 5.0.2 spinnaker_camera_driver: dependencies: - ament_cmake @@ -23676,9 +23867,9 @@ swri_cli_tools: - ros2param - ros2topic repository: https://github.com/swri-robotics/marti_common - tag: release/lyrical/swri_cli_tools/3.9.1-2 + tag: release/lyrical/swri_cli_tools/3.12.0-1 url: https://github.com/ros2-gbp/marti_common-release.git - version: 3.9.1 + version: 3.12.0 swri_console: dependencies: - ament_cmake @@ -23690,105 +23881,104 @@ swri_console: - rosbag2_storage_mcap - rosbag2_transport repository: https://github.com/swri-robotics/swri_console - tag: release/lyrical/swri_console/2.3.0-1 + tag: release/lyrical/swri_console/2.4.0-1 url: https://github.com/ros2-gbp/swri_console-release.git - version: 2.3.0 + version: 2.4.0 swri_console_util: dependencies: - ament_cmake - rclcpp repository: https://github.com/swri-robotics/marti_common - tag: release/lyrical/swri_console_util/3.9.1-2 + tag: release/lyrical/swri_console_util/3.12.0-1 url: https://github.com/ros2-gbp/marti_common-release.git - version: 3.9.1 + version: 3.12.0 swri_dbw_interface: dependencies: - ament_cmake repository: https://github.com/swri-robotics/marti_common - tag: release/lyrical/swri_dbw_interface/3.9.1-2 + tag: release/lyrical/swri_dbw_interface/3.12.0-1 url: https://github.com/ros2-gbp/marti_common-release.git - version: 3.9.1 + version: 3.12.0 swri_geometry_util: dependencies: - ament_cmake - ament_cmake_gtest - tf2 repository: https://github.com/swri-robotics/marti_common - tag: release/lyrical/swri_geometry_util/3.9.1-2 + tag: release/lyrical/swri_geometry_util/3.12.0-1 url: https://github.com/ros2-gbp/marti_common-release.git - version: 3.9.1 + version: 3.12.0 swri_image_util: dependencies: - ament_cmake - ament_cmake_gtest - ament_index_cpp - - camera_calibration_parsers - cv_bridge - - image_geometry - image_transport - message_filters - rcl_interfaces - rclcpp - rclcpp_components - - rclpy + - sensor_msgs - swri_geometry_util - swri_math_util - swri_opencv_util - tf2 repository: https://github.com/swri-robotics/marti_common - tag: release/lyrical/swri_image_util/3.9.1-2 + tag: release/lyrical/swri_image_util/3.12.0-1 url: https://github.com/ros2-gbp/marti_common-release.git - version: 3.9.1 + version: 3.12.0 swri_math_util: dependencies: - ament_cmake - ament_cmake_gtest - rclcpp repository: https://github.com/swri-robotics/marti_common - tag: release/lyrical/swri_math_util/3.9.1-2 + tag: release/lyrical/swri_math_util/3.12.0-1 url: https://github.com/ros2-gbp/marti_common-release.git - version: 3.9.1 + version: 3.12.0 swri_opencv_util: dependencies: - ament_cmake - - cv_bridge - swri_math_util repository: https://github.com/swri-robotics/marti_common - tag: release/lyrical/swri_opencv_util/3.9.1-2 + tag: release/lyrical/swri_opencv_util/3.12.0-1 url: https://github.com/ros2-gbp/marti_common-release.git - version: 3.9.1 + version: 3.12.0 swri_route_util: dependencies: - ament_cmake + - ament_cmake_gtest - geometry_msgs - marti_common_msgs - marti_nav_msgs - rclcpp + - rclcpp_components + - std_msgs - swri_geometry_util - swri_math_util - swri_transform_util - tf2_geometry_msgs - visualization_msgs repository: https://github.com/swri-robotics/marti_common - tag: release/lyrical/swri_route_util/3.9.1-2 + tag: release/lyrical/swri_route_util/3.12.0-1 url: https://github.com/ros2-gbp/marti_common-release.git - version: 3.9.1 + version: 3.12.0 swri_serial_util: dependencies: - ament_cmake repository: https://github.com/swri-robotics/marti_common - tag: release/lyrical/swri_serial_util/3.9.1-2 + tag: release/lyrical/swri_serial_util/3.12.0-1 url: https://github.com/ros2-gbp/marti_common-release.git - version: 3.9.1 + version: 3.12.0 swri_transform_util: dependencies: - ament_cmake - ament_cmake_gtest + - ament_cmake_pytest - ament_cmake_python - ament_index_cpp - - cv_bridge - diagnostic_msgs - - diagnostic_updater - geographic_msgs - geometry_msgs - gps_msgs @@ -23807,9 +23997,9 @@ swri_transform_util: - tf2_ros - yaml_cpp_vendor repository: https://github.com/swri-robotics/marti_common - tag: release/lyrical/swri_transform_util/3.9.1-2 + tag: release/lyrical/swri_transform_util/3.12.0-1 url: https://github.com/ros2-gbp/marti_common-release.git - version: 3.9.1 + version: 3.12.0 sync_tooling_msgs: dependencies: - ament_cmake @@ -24039,9 +24229,9 @@ tf2: - rcutils - rosidl_runtime_cpp repository: https://github.com/ros2/geometry2 - tag: release/lyrical/tf2/0.45.9-1 + tag: release/lyrical/tf2/0.45.10-1 url: https://github.com/ros2-gbp/geometry2-release.git - version: 0.45.9 + version: 0.45.10 tf2_2d: dependencies: - ament_cmake @@ -24066,9 +24256,9 @@ tf2_bullet: - tf2 - tf2_ros repository: https://github.com/ros2/geometry2 - tag: release/lyrical/tf2_bullet/0.45.9-1 + tag: release/lyrical/tf2_bullet/0.45.10-1 url: https://github.com/ros2-gbp/geometry2-release.git - version: 0.45.9 + version: 0.45.10 tf2_eigen: dependencies: - ament_cmake @@ -24079,9 +24269,9 @@ tf2_eigen: - tf2 - tf2_ros repository: https://github.com/ros2/geometry2 - tag: release/lyrical/tf2_eigen/0.45.9-1 + tag: release/lyrical/tf2_eigen/0.45.10-1 url: https://github.com/ros2-gbp/geometry2-release.git - version: 0.45.9 + version: 0.45.10 tf2_eigen_kdl: dependencies: - ament_cmake @@ -24090,9 +24280,9 @@ tf2_eigen_kdl: - ament_lint_common - tf2 repository: https://github.com/ros2/geometry2 - tag: release/lyrical/tf2_eigen_kdl/0.45.9-1 + tag: release/lyrical/tf2_eigen_kdl/0.45.10-1 url: https://github.com/ros2-gbp/geometry2-release.git - version: 0.45.9 + version: 0.45.10 tf2_geometry_msgs: dependencies: - ament_cmake @@ -24106,9 +24296,9 @@ tf2_geometry_msgs: - tf2_ros - tf2_ros_py repository: https://github.com/ros2/geometry2 - tag: release/lyrical/tf2_geometry_msgs/0.45.9-1 + tag: release/lyrical/tf2_geometry_msgs/0.45.10-1 url: https://github.com/ros2-gbp/geometry2-release.git - version: 0.45.9 + version: 0.45.10 tf2_kdl: dependencies: - ament_cmake @@ -24122,9 +24312,9 @@ tf2_kdl: - tf2_ros - tf2_ros_py repository: https://github.com/ros2/geometry2 - tag: release/lyrical/tf2_kdl/0.45.9-1 + tag: release/lyrical/tf2_kdl/0.45.10-1 url: https://github.com/ros2-gbp/geometry2-release.git - version: 0.45.9 + version: 0.45.10 tf2_msgs: dependencies: - ament_cmake @@ -24134,9 +24324,9 @@ tf2_msgs: - rosidl_default_generators - rosidl_default_runtime repository: https://github.com/ros2/geometry2 - tag: release/lyrical/tf2_msgs/0.45.9-1 + tag: release/lyrical/tf2_msgs/0.45.10-1 url: https://github.com/ros2-gbp/geometry2-release.git - version: 0.45.9 + version: 0.45.10 tf2_py: dependencies: - ament_cmake @@ -24150,14 +24340,14 @@ tf2_py: - rpyutils - tf2 repository: https://github.com/ros2/geometry2 - tag: release/lyrical/tf2_py/0.45.9-1 + tag: release/lyrical/tf2_py/0.45.10-1 url: https://github.com/ros2-gbp/geometry2-release.git - version: 0.45.9 + version: 0.45.10 tf2_ros: dependencies: - ament_cmake - ament_cmake_gen_version_h - - ament_cmake_gtest + - ament_cmake_ros - ament_lint_auto - ament_lint_common - builtin_interfaces @@ -24172,9 +24362,9 @@ tf2_ros: - tf2 - tf2_msgs repository: https://github.com/ros2/geometry2 - tag: release/lyrical/tf2_ros/0.45.9-1 + tag: release/lyrical/tf2_ros/0.45.10-1 url: https://github.com/ros2-gbp/geometry2-release.git - version: 0.45.9 + version: 0.45.10 tf2_ros_py: dependencies: - ament_copyright @@ -24183,14 +24373,15 @@ tf2_ros_py: - ament_xmllint - geometry_msgs - rclpy + - rmw_test_fixture_implementation - sensor_msgs - std_msgs - tf2_msgs - tf2_py repository: https://github.com/ros2/geometry2 - tag: release/lyrical/tf2_ros_py/0.45.9-1 + tag: release/lyrical/tf2_ros_py/0.45.10-1 url: https://github.com/ros2-gbp/geometry2-release.git - version: 0.45.9 + version: 0.45.10 tf2_sensor_msgs: dependencies: - ament_cmake @@ -24209,9 +24400,9 @@ tf2_sensor_msgs: - tf2_ros - tf2_ros_py repository: https://github.com/ros2/geometry2 - tag: release/lyrical/tf2_sensor_msgs/0.45.9-1 + tag: release/lyrical/tf2_sensor_msgs/0.45.10-1 url: https://github.com/ros2-gbp/geometry2-release.git - version: 0.45.9 + version: 0.45.10 tf2_tools: dependencies: - ament_copyright @@ -24223,9 +24414,9 @@ tf2_tools: - tf2_py - tf2_ros_py repository: https://github.com/ros2/geometry2 - tag: release/lyrical/tf2_tools/0.45.9-1 + tag: release/lyrical/tf2_tools/0.45.10-1 url: https://github.com/ros2-gbp/geometry2-release.git - version: 0.45.9 + version: 0.45.10 tf2_web_republisher: dependencies: - ament_cmake @@ -24294,17 +24485,17 @@ theora_image_transport: tile_map: dependencies: - ament_cmake + - ament_cmake_gtest - mapviz - pluginlib - - qt_gui_cpp - rclcpp - swri_math_util - swri_transform_util - tf2 repository: https://github.com/swri-robotics/mapviz - tag: release/lyrical/tile_map/4.0.3-1 + tag: release/lyrical/tile_map/4.1.0-1 url: https://github.com/ros2-gbp/mapviz-release.git - version: 4.0.3 + version: 4.1.0 tinyspline_vendor: dependencies: - ament_cmake @@ -24599,9 +24790,9 @@ transmission_interface: - ros2_control_cmake - ros2_control_test_assets repository: https://github.com/ros-controls/ros2_control - tag: release/lyrical/transmission_interface/6.10.0-1 + tag: release/lyrical/transmission_interface/6.10.1-1 url: https://github.com/ros2-gbp/ros2_control-release.git - version: 6.10.0 + version: 6.10.1 tricycle_controller: dependencies: - ackermann_msgs @@ -25341,9 +25532,9 @@ ur: - ur_moveit_config - ur_robot_driver repository: https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver - tag: release/lyrical/ur/6.0.0-1 + tag: release/lyrical/ur/6.1.0-1 url: https://github.com/ros2-gbp/Universal_Robots_ROS2_Driver-release.git - version: 6.0.0 + version: 6.1.0 ur10_inverse_dynamics_solver: dependencies: - ament_cmake @@ -25375,16 +25566,16 @@ ur_calibration: - ur_robot_driver - yaml_cpp_vendor repository: https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver - tag: release/lyrical/ur_calibration/6.0.0-1 + tag: release/lyrical/ur_calibration/6.1.0-1 url: https://github.com/ros2-gbp/Universal_Robots_ROS2_Driver-release.git - version: 6.0.0 + version: 6.1.0 ur_client_library: dependencies: - ament_cmake repository: https://github.com/UniversalRobots/Universal_Robots_Client_Library - tag: release/lyrical/ur_client_library/2.14.1-1 + tag: release/lyrical/ur_client_library/2.15.2-1 url: https://github.com/ros2-gbp/Universal_Robots_Client_Library-release.git - version: 2.14.1 + version: 2.15.2 ur_controllers: dependencies: - action_msgs @@ -25411,9 +25602,9 @@ ur_controllers: - ur_dashboard_msgs - ur_msgs repository: https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver - tag: release/lyrical/ur_controllers/6.0.0-1 + tag: release/lyrical/ur_controllers/6.1.0-1 url: https://github.com/ros2-gbp/Universal_Robots_ROS2_Driver-release.git - version: 6.0.0 + version: 6.1.0 ur_dashboard_msgs: dependencies: - action_msgs @@ -25421,9 +25612,9 @@ ur_dashboard_msgs: - rosidl_default_generators - rosidl_default_runtime repository: https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver - tag: release/lyrical/ur_dashboard_msgs/6.0.0-1 + tag: release/lyrical/ur_dashboard_msgs/6.1.0-1 url: https://github.com/ros2-gbp/Universal_Robots_ROS2_Driver-release.git - version: 6.0.0 + version: 6.1.0 ur_description: dependencies: - ament_cmake @@ -25456,9 +25647,9 @@ ur_moveit_config: - warehouse_ros_sqlite - xacro repository: https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver - tag: release/lyrical/ur_moveit_config/6.0.0-1 + tag: release/lyrical/ur_moveit_config/6.1.0-1 url: https://github.com/ros2-gbp/Universal_Robots_ROS2_Driver-release.git - version: 6.0.0 + version: 6.1.0 ur_msgs: dependencies: - action_msgs @@ -25498,6 +25689,7 @@ ur_robot_driver: - pluginlib - pose_broadcaster - rclcpp + - rclcpp_action - rclcpp_lifecycle - rclpy - robot_state_publisher @@ -25515,9 +25707,9 @@ ur_robot_driver: - urdf - xacro repository: https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver - tag: release/lyrical/ur_robot_driver/6.0.0-1 + tag: release/lyrical/ur_robot_driver/6.1.0-1 url: https://github.com/ros2-gbp/Universal_Robots_ROS2_Driver-release.git - version: 6.0.0 + version: 6.1.0 ur_simulation_gz: dependencies: - ament_cmake @@ -25588,11 +25780,12 @@ urdf_test: - ament_lint_common - launch - rclpy + - urdfdom - xacro repository: https://github.com/pal-robotics/urdf_test - tag: release/lyrical/urdf_test/2.1.2-1 + tag: release/lyrical/urdf_test/2.1.3-1 url: https://github.com/ros2-gbp/urdf_test-release.git - version: 2.1.2 + version: 2.1.3 urdf_tutorial: dependencies: - ament_cmake @@ -25872,9 +26065,9 @@ vrpn: dependencies: - ament_cmake repository: https://github.com/vrpn/vrpn - tag: release/lyrical/vrpn/7.35.0-22 + tag: release/lyrical/vrpn/7.36.0-1 url: https://github.com/ros2-gbp/vrpn-release.git - version: 7.35.0 + version: 7.36.0 vrpn_mocap: dependencies: - ament_cmake @@ -25887,9 +26080,9 @@ vrpn_mocap: - tf2 - vrpn repository: https://github.com/alvinsunyixiao/vrpn_mocap - tag: release/lyrical/vrpn_mocap/1.1.0-5 + tag: release/lyrical/vrpn_mocap/1.2.0-1 url: https://github.com/ros2-gbp/vrpn_mocap-release.git - version: 1.1.0 + version: 1.2.0 warehouse_ros: dependencies: - ament_cmake @@ -26290,9 +26483,9 @@ yasmin: - ament_cmake_pytest - ament_cmake_python repository: https://github.com/uleroboticsgroup/yasmin - tag: release/lyrical/yasmin/6.1.1-1 + tag: release/lyrical/yasmin/6.1.2-1 url: https://github.com/ros2-gbp/yasmin-release.git - version: 6.1.1 + version: 6.1.2 yasmin_cli: dependencies: - ament_index_python @@ -26304,9 +26497,9 @@ yasmin_cli: - yasmin_plugins_manager - yasmin_viewer repository: https://github.com/uleroboticsgroup/yasmin - tag: release/lyrical/yasmin_cli/6.1.1-1 + tag: release/lyrical/yasmin_cli/6.1.2-1 url: https://github.com/ros2-gbp/yasmin-release.git - version: 6.1.1 + version: 6.1.2 yasmin_demos: dependencies: - ament_cmake @@ -26325,9 +26518,9 @@ yasmin_demos: - yasmin_ros - yasmin_viewer repository: https://github.com/uleroboticsgroup/yasmin - tag: release/lyrical/yasmin_demos/6.1.1-1 + tag: release/lyrical/yasmin_demos/6.1.2-1 url: https://github.com/ros2-gbp/yasmin-release.git - version: 6.1.1 + version: 6.1.2 yasmin_editor: dependencies: - ament_cmake @@ -26340,9 +26533,9 @@ yasmin_editor: - yasmin_plugins_manager - yasmin_ros repository: https://github.com/uleroboticsgroup/yasmin - tag: release/lyrical/yasmin_editor/6.1.1-1 + tag: release/lyrical/yasmin_editor/6.1.2-1 url: https://github.com/ros2-gbp/yasmin-release.git - version: 6.1.1 + version: 6.1.2 yasmin_factory: dependencies: - action_msgs @@ -26363,18 +26556,19 @@ yasmin_factory: - yasmin_ros - yasmin_viewer repository: https://github.com/uleroboticsgroup/yasmin - tag: release/lyrical/yasmin_factory/6.1.1-1 + tag: release/lyrical/yasmin_factory/6.1.2-1 url: https://github.com/ros2-gbp/yasmin-release.git - version: 6.1.1 + version: 6.1.2 yasmin_msgs: dependencies: - action_msgs - ament_cmake - rosidl_default_generators + - rosidl_default_runtime repository: https://github.com/uleroboticsgroup/yasmin - tag: release/lyrical/yasmin_msgs/6.1.1-1 + tag: release/lyrical/yasmin_msgs/6.1.2-1 url: https://github.com/ros2-gbp/yasmin-release.git - version: 6.1.1 + version: 6.1.2 yasmin_pcl: dependencies: - ament_cmake @@ -26384,9 +26578,9 @@ yasmin_pcl: - sensor_msgs - yasmin repository: https://github.com/uleroboticsgroup/yasmin - tag: release/lyrical/yasmin_pcl/6.1.1-1 + tag: release/lyrical/yasmin_pcl/6.1.2-1 url: https://github.com/ros2-gbp/yasmin-release.git - version: 6.1.1 + version: 6.1.2 yasmin_plugins_manager: dependencies: - ament_index_python @@ -26394,9 +26588,9 @@ yasmin_plugins_manager: - yasmin - yasmin_factory repository: https://github.com/uleroboticsgroup/yasmin - tag: release/lyrical/yasmin_plugins_manager/6.1.1-1 + tag: release/lyrical/yasmin_plugins_manager/6.1.2-1 url: https://github.com/ros2-gbp/yasmin-release.git - version: 6.1.1 + version: 6.1.2 yasmin_ros: dependencies: - ament_cmake @@ -26420,9 +26614,9 @@ yasmin_ros: - tf2_ros_py - yasmin repository: https://github.com/uleroboticsgroup/yasmin - tag: release/lyrical/yasmin_ros/6.1.1-1 + tag: release/lyrical/yasmin_ros/6.1.2-1 url: https://github.com/ros2-gbp/yasmin-release.git - version: 6.1.1 + version: 6.1.2 yasmin_viewer: dependencies: - ament_cmake @@ -26434,9 +26628,9 @@ yasmin_viewer: - yasmin_msgs - yasmin_ros repository: https://github.com/uleroboticsgroup/yasmin - tag: release/lyrical/yasmin_viewer/6.1.1-1 + tag: release/lyrical/yasmin_viewer/6.1.2-1 url: https://github.com/ros2-gbp/yasmin-release.git - version: 6.1.1 + version: 6.1.2 zbar_ros: dependencies: - ament_cmake @@ -26513,9 +26707,9 @@ zenoh_cpp_vendor: - ament_cmake - ament_cmake_vendor_package repository: https://github.com/ros2/rmw_zenoh - tag: release/lyrical/zenoh_cpp_vendor/0.10.5-1 + tag: release/lyrical/zenoh_cpp_vendor/0.10.6-1 url: https://github.com/ros2-gbp/rmw_zenoh-release.git - version: 0.10.5 + version: 0.10.6 zenoh_security_tools: dependencies: - ament_lint_auto @@ -26525,9 +26719,9 @@ zenoh_security_tools: - rmw_security_common - zenoh_cpp_vendor repository: https://github.com/ros2/rmw_zenoh - tag: release/lyrical/zenoh_security_tools/0.10.5-1 + tag: release/lyrical/zenoh_security_tools/0.10.6-1 url: https://github.com/ros2-gbp/rmw_zenoh-release.git - version: 0.10.5 + version: 0.10.6 zlib_point_cloud_transport: dependencies: - ament_cmake @@ -26556,9 +26750,9 @@ zstd_cmake_module: - ament_lint_auto - ament_lint_common repository: https://github.com/ros2/rosbag2 - tag: release/lyrical/zstd_cmake_module/0.33.3-1 + tag: release/lyrical/zstd_cmake_module/0.33.4-1 url: https://github.com/ros2-gbp/rosbag2-release.git - version: 0.33.3 + version: 0.33.4 zstd_image_transport: dependencies: - ament_cmake diff --git a/tests/ros-lyrical-std-msgs.yaml b/tests/ros-lyrical-std-msgs.yaml new file mode 100644 index 00000000..2088cfaf --- /dev/null +++ b/tests/ros-lyrical-std-msgs.yaml @@ -0,0 +1,30 @@ +tests: + # Regression test: a plain C++ consumer of std_msgs must build and run. + # If std_msgs_TARGETS exports the Python C bindings library + # (libstd_msgs__rosidl_generator_py), the consumer links it and it has + # unresolved CPython symbols: the executable aborts on macOS ("symbol not + # found in flat namespace '_PyExc_RuntimeError'") and fails to link or load + # on Linux when it links Python3::Module + # (https://github.com/RoboStack/ros-kilted/issues/76). + # cxx-compiler (unlike compiler('cxx')) sets no LDFLAGS, like a user's + # environment, so -Wl,--as-needed / -Wl,-dead_strip_dylibs can't hide it. + - if: unix + then: + script: + - cmake -S cpp_consumer -B build -G Ninja -DCMAKE_PREFIX_PATH="$PREFIX" + - cmake --build build + - ./build/std_msgs_cpp_consumer + requirements: + build: + - cxx-compiler + - cmake + - ninja + files: + recipe: + - cpp_consumer/ + # The Python C bindings library still works when loaded by Python. + - script: + - python -c "from rclpy.serialization import deserialize_message, serialize_message; from std_msgs.msg import Header; m = deserialize_message(serialize_message(Header(frame_id='map')), Header); assert m.frame_id == 'map'" + requirements: + run: + - ros2-rclpy diff --git a/tests/ros-lyrical-std-msgs/cpp_consumer/CMakeLists.txt b/tests/ros-lyrical-std-msgs/cpp_consumer/CMakeLists.txt new file mode 100644 index 00000000..17d2b6eb --- /dev/null +++ b/tests/ros-lyrical-std-msgs/cpp_consumer/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.20) +project(std_msgs_cpp_consumer CXX) + +find_package(std_msgs REQUIRED) + +add_executable(std_msgs_cpp_consumer main.cpp) +target_link_libraries(std_msgs_cpp_consumer ${std_msgs_TARGETS}) diff --git a/tests/ros-lyrical-std-msgs/cpp_consumer/main.cpp b/tests/ros-lyrical-std-msgs/cpp_consumer/main.cpp new file mode 100644 index 00000000..fc5aa7c7 --- /dev/null +++ b/tests/ros-lyrical-std-msgs/cpp_consumer/main.cpp @@ -0,0 +1,11 @@ +#include + +#include + +int main() +{ + std_msgs::msg::String msg; + msg.data = "hello"; + std::cout << "std_msgs C++ consumer started fine: " << msg.data << std::endl; + return 0; +} diff --git a/vinca.yaml b/vinca.yaml index 98ccdb0c..20ee78a1 100644 --- a/vinca.yaml +++ b/vinca.yaml @@ -6,12 +6,12 @@ conda_index: - robostack.yaml - packages-ignore.yaml -# Reminder for next full rebuild, the next build number should be 27 -build_number: 25 +# Reminder for next full rebuild, the next build number should be 28 +build_number: 27 mutex_package: name: "ros2-distro-mutex" - version: "0.20.0" + version: "0.21.0" upper_bound: "x.x" run_constraints: - libboost 1.90.* @@ -19,7 +19,7 @@ mutex_package: - pcl 1.15.1.* - gazebo 11.* - libprotobuf 7.35.1.* - - vtk 9.6.2.* + - vtk 9.7.0.* packages_skip_by_deps: diff --git a/vinca_pinning.yaml b/vinca_pinning.yaml new file mode 100644 index 00000000..3697ca83 --- /dev/null +++ b/vinca_pinning.yaml @@ -0,0 +1,60 @@ +conda_forge_pinning_version: 2026.09.25.23.22.04 +migrations: + - elfutils0196 + - giflib6 + - go_macos + - gstreamer128 + - hdf52 + - libboost190 + - proj99 + - urdfdom6 + - vtk970 +pinning_overrides: + # Build commands provide their channels with `-c`, so omit the inherited + # conda-forge-pinning channel_sources value from the rendered configuration. + channel_sources: + channel_targets: + # glibc floor raised from 2.17 (CentOS 7) to 2.28: conda-forge packages such as + # gazebo/openal-soft already require it. macOS deployment target raised to 14.0. + # c_stdlib_version shares a zip_keys group with the compiler versions, so the whole + # group has to be overridden; the compiler entries mirror the conda-forge base file + # and must be refreshed when `vinca-pinning-update` moves to a newer compiler. + c_stdlib_version: + - 2.28 # [linux and not riscv64] + - 2.39 # [linux and riscv64] + - 2.28 # [linux and (x86_64 or aarch64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + - 14.0 # [osx] + c_compiler_version: + - 15 # [linux] + - 21 # [osx] + - 14 # [linux and (x86_64 or aarch64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + cxx_compiler_version: + - 15 # [linux] + - 21 # [osx] + - 14 # [linux and (x86_64 or aarch64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + fortran_compiler_version: + - 15 # [unix] + - 5 # [win64] + - 22 # [win and arm64] + - 14 # [linux and (x86_64 or aarch64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + cuda_compiler_version: + - None + - 12.9 # [((linux and (x86_64 or aarch64)) or win64) and os.environ.get("CF_CUDA_ENABLED", "False") == "True"] + libzenohc: + - 1.10.1 + libzenohcxx: + - 1.10.1 + # cartographer was built with lua 5.4.8, otherwise it pulls in 5.5 which leads to conflicts + lua: + - 5.4 + # conda-forge published sip 6.16.1 on 2026-09-08, which broke ABI targeting for + # packages like qt_gui_cpp_sip that build against PyQt-sip's fixed ABI v12. + # Pin back to the last known-good line until upstream fixes it. + sip: + - 6.15 + python: + - 3.14.* *_cp314 + is_python_min: + - false + python_impl: + - cpython