6edb8d39ab
在开始'设备契约层 + 目录重构 + 通止规装配'改造之前,先钉住当前可运行状态, 使后续任何删除/重构都可回退。 本基线包含: - 现有 ROS 2 工作区全部源码(arm_application / arm_control / arm_bringup 等) - 官方 flexiv_ros2 栈(含 flexiv_hardware / flexiv_controllers 等符号链接) - 设备契约层 src/arm_interfaces(新增,46 项单测通过) - devices/ 设备选型与品牌清单(新增) - scripts/gen_site_example.py 与由它生成的 config/site.example.yaml 按 .gitignore 排除:build/ / install/ / log/ / config/site.yaml / 模型权重二进制。
22 lines
778 B
Bash
Executable File
22 lines
778 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# List plugged RealSense cameras (serials used in site.yaml).
|
|
set -eo pipefail
|
|
python3 - <<'PY'
|
|
import pyrealsense2 as rs
|
|
known = {
|
|
"352122274408": "left wrist D405 (arm 89, parallel gripper)",
|
|
"260522274442": "right wrist D405 (arm 91, rotary gripper)",
|
|
"262522073161": "overhead D435 (between arms, eye-to-hand)",
|
|
}
|
|
ds = list(rs.context().devices)
|
|
print(f"n={len(ds)}")
|
|
for d in ds:
|
|
sn = d.get_info(rs.camera_info.serial_number)
|
|
name = d.get_info(rs.camera_info.name)
|
|
usb = d.get_info(rs.camera_info.usb_type_descriptor)
|
|
fw = d.get_info(rs.camera_info.firmware_version)
|
|
role = known.get(sn, "(unassigned — add to site.yaml cameras:)")
|
|
print(f" {name:22} serial={sn} USB={usb} fw={fw}")
|
|
print(f" -> {role}")
|
|
PY
|