fix: use complete vendor message overlay for rosbag
This commit is contained in:
@@ -179,6 +179,10 @@ MCAP 使用 `zstd_fast`、64 MiB cache、每 300 秒分片;每条 episode 最
|
||||
`manifest.json` 和 `READY`,最后才原子进入 `ready/`。Nvidia 需已安装 `python3-yaml`
|
||||
(现场已验证 PyYAML 6.0.1)。
|
||||
|
||||
录制服务只加载厂家完整 `/opt/robot_tele_server/install` 消息 overlay,不加载本项目
|
||||
`ros2_py/install`;项目 overlay 仅供桥的 Python `ArmStatus` 绑定使用。两者混在同一个
|
||||
rosbag 环境会让部分 `ros2_bridge_msgs` C++ 类型支持出现动态库符号冲突。
|
||||
|
||||
部署两个机器人侧服务:
|
||||
|
||||
```bash
|
||||
|
||||
@@ -9,7 +9,6 @@ required_setups=(
|
||||
/opt/ros/jazzy/setup.bash
|
||||
/home/nvidia/xos/setup.bash
|
||||
/opt/robot_tele_server/install/setup.bash
|
||||
"$APP_DIR/ros2_py/install/setup.bash"
|
||||
)
|
||||
for setup_file in "${required_setups[@]}"; do
|
||||
if [[ ! -f "$setup_file" ]]; then
|
||||
@@ -19,6 +18,12 @@ for setup_file in "${required_setups[@]}"; do
|
||||
# shellcheck disable=SC1090
|
||||
source "$setup_file"
|
||||
done
|
||||
|
||||
# Do not source $APP_DIR/ros2_py here. That deliberately minimal package only
|
||||
# supplies the two Python wire types used by tg3_local_teleop.py; placing its
|
||||
# partial ros2_bridge_msgs libraries ahead of the vendor's complete C++ package
|
||||
# makes rosbag2 fail to load RobotState/ArmCtrl type support. The recorder must
|
||||
# use /opt/robot_tele_server/install for the complete vendor message package.
|
||||
set -u
|
||||
|
||||
exec python3 "$APP_DIR/data_recorder_node.py" \
|
||||
|
||||
Reference in New Issue
Block a user