#!/usr/bin/env bash # 把 ~/文档/Flexiv_Rizon4 下的本地 Flexiv 代码树接入本工作区。 # 免得再从 GitHub 重新克隆 RDK / 仿真插件。 set -euo pipefail ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" SRC="${ROOT}/src" TP="${ROOT}/thirdparty" LOCAL_FLEXIV="${LOCAL_FLEXIV:-$HOME/文档/Flexiv_Rizon4}" if [[ ! -d "${LOCAL_FLEXIV}/flexiv_rdk" ]]; then echo "ERROR: not found: ${LOCAL_FLEXIV}/flexiv_rdk" echo "Set LOCAL_FLEXIV to your Flexiv_Rizon4 directory." exit 1 fi mkdir -p "${SRC}" "${TP}" VER_LINE=$(grep -E '^project\(flexiv_rdk' "${LOCAL_FLEXIV}/flexiv_rdk/CMakeLists.txt" | head -1 || true) echo "Linking RDK (${VER_LINE:-unknown version})..." ln -sfn "${LOCAL_FLEXIV}/flexiv_rdk" "${SRC}/flexiv_rdk" touch "${LOCAL_FLEXIV}/flexiv_rdk/COLCON_IGNORE" if [[ -d "${LOCAL_FLEXIV}/flexiv_sim_plugin" ]]; then if [[ -d "${TP}/flexiv_sim_plugin" && ! -L "${TP}/flexiv_sim_plugin" ]]; then mv "${TP}/flexiv_sim_plugin" "${TP}/flexiv_sim_plugin.cloned.bak.$(date +%s)" fi ln -sfn "${LOCAL_FLEXIV}/flexiv_sim_plugin" "${TP}/flexiv_sim_plugin" touch "${LOCAL_FLEXIV}/flexiv_sim_plugin/COLCON_IGNORE" echo "Linked thirdparty/flexiv_sim_plugin -> ${LOCAL_FLEXIV}/flexiv_sim_plugin" fi # humble-v1 的 ROS 硬件需要 RDK 1.9.x(如果存在,会单独保留一份) if [[ -d "${SRC}/flexiv_rdk.bak.1787646725" ]]; then ln -sfn "${SRC}/flexiv_rdk.bak.1787646725" "${SRC}/flexiv_rdk_v1" touch "${SRC}/flexiv_rdk.bak.1787646725/COLCON_IGNORE" echo "ROS stack RDK v1.9.1 available at src/flexiv_rdk_v1" fi cat < ${LOCAL_FLEXIV}/flexiv_rdk (your tree, currently v2.1) thirdparty/flexiv_sim_plugin -> local sim plugin Note: flexiv_ros2 humble-v1 expects RDK **v1.9.1**. Build/install src/flexiv_rdk_v1 into ~/flexiv_install for flexiv_hardware. Use your v2.1 tree for RDK C++/Python examples and Isaac-side tooling. EOF