forked from zbw/yiliao2026
docs: record WSL Fast DDS deployment
This commit is contained in:
@@ -865,3 +865,97 @@ unset _rdk_dds_profile
|
|||||||
- Fast DDS/RMW participant 实际创建:通过,输出 `RMW participant created`。
|
- Fast DDS/RMW participant 实际创建:通过,输出 `RMW participant created`。
|
||||||
- 环境摘要:Domain `22`、RMW `rmw_fastrtps_cpp`、本地 DDS 地址 `.164`。
|
- 环境摘要:Domain `22`、RMW `rmw_fastrtps_cpp`、本地 DDS 地址 `.164`。
|
||||||
- 首次从 PowerShell 直接拼接远端 `python3 -c` 时,引号在 SSH 边界被破坏,Python 在读取 XML 前即报 `SyntaxError`。该失败与 XML 内容无关,未修改配置;改为通过 WSL Bash 和 stdin 传入验证程序后,相同验证完整通过。
|
- 首次从 PowerShell 直接拼接远端 `python3 -c` 时,引号在 SSH 边界被破坏,Python 在读取 XML 前即报 `SyntaxError`。该失败与 XML 内容无关,未修改配置;改为通过 WSL Bash 和 stdin 传入验证程序后,相同验证完整通过。
|
||||||
|
|
||||||
|
### WSL 配置实施结果
|
||||||
|
|
||||||
|
- 新增目录:`/home/hikos/Yiliao2026/config/dds/`
|
||||||
|
- `/home/hikos/Yiliao2026/config/dds/fastdds_wsl_151.xml`
|
||||||
|
- 权限:`0644`
|
||||||
|
- SHA-256:`bcf9c6e8e8b724cda1c6d83f02491ae0ad9ad7faec5be5dc01b8d60ea826d7ba`
|
||||||
|
- `/home/hikos/Yiliao2026/config/dds/use_wsl_dds_164_link.sh`
|
||||||
|
- 权限:`0755`
|
||||||
|
- SHA-256:`7fe539eab3ddaa5b79a32145cd1d10834468ae47a73de239944b34c61be61f52`
|
||||||
|
- WSL Git commit:`b8840ec94bca8668f7d56d80b75c9db0298d18a3`,该提交只包含上述两个文件。
|
||||||
|
|
||||||
|
XML 完整内容:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<profiles xmlns="http://www.eprosima.com/XMLSchemas/fastRTPS_Profiles">
|
||||||
|
<transport_descriptors>
|
||||||
|
<transport_descriptor>
|
||||||
|
<transport_id>wsl_udp_151</transport_id>
|
||||||
|
<type>UDPv4</type>
|
||||||
|
<interfaceWhiteList>
|
||||||
|
<address>192.168.10.151</address>
|
||||||
|
</interfaceWhiteList>
|
||||||
|
</transport_descriptor>
|
||||||
|
<transport_descriptor>
|
||||||
|
<transport_id>wsl_shm</transport_id>
|
||||||
|
<type>SHM</type>
|
||||||
|
</transport_descriptor>
|
||||||
|
</transport_descriptors>
|
||||||
|
|
||||||
|
<participant profile_name="wsl_dds_151" is_default_profile="true">
|
||||||
|
<rtps>
|
||||||
|
<builtin>
|
||||||
|
<initialPeersList>
|
||||||
|
<locator>
|
||||||
|
<udpv4>
|
||||||
|
<address>192.168.10.164</address>
|
||||||
|
</udpv4>
|
||||||
|
</locator>
|
||||||
|
</initialPeersList>
|
||||||
|
</builtin>
|
||||||
|
<userTransports>
|
||||||
|
<transport_id>wsl_udp_151</transport_id>
|
||||||
|
<transport_id>wsl_shm</transport_id>
|
||||||
|
</userTransports>
|
||||||
|
<useBuiltinTransports>false</useBuiltinTransports>
|
||||||
|
</rtps>
|
||||||
|
</participant>
|
||||||
|
</profiles>
|
||||||
|
```
|
||||||
|
|
||||||
|
环境脚本完整内容:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if [[ "${BASH_SOURCE[0]}" == "$0" ]]; then
|
||||||
|
echo "ERROR: source this file instead of executing it" >&2
|
||||||
|
exit 64
|
||||||
|
fi
|
||||||
|
|
||||||
|
_wsl_dds_profile="/home/hikos/Yiliao2026/config/dds/fastdds_wsl_151.xml"
|
||||||
|
|
||||||
|
if ! ip -4 addr show dev eth4 2>/dev/null | grep -q 'inet 192\.168\.10\.151/'; then
|
||||||
|
echo "ERROR: eth4 does not own 192.168.10.151" >&2
|
||||||
|
unset _wsl_dds_profile
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -r "${_wsl_dds_profile}" ]]; then
|
||||||
|
echo "ERROR: unreadable Fast DDS profile: ${_wsl_dds_profile}" >&2
|
||||||
|
unset _wsl_dds_profile
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
export ROS_DOMAIN_ID=22
|
||||||
|
export RMW_IMPLEMENTATION=rmw_fastrtps_cpp
|
||||||
|
export ROS_LOCALHOST_ONLY=0
|
||||||
|
export FASTRTPS_DEFAULT_PROFILES_FILE="${_wsl_dds_profile}"
|
||||||
|
export FASTDDS_DEFAULT_PROFILES_FILE="${_wsl_dds_profile}"
|
||||||
|
|
||||||
|
printf 'DDS link enabled: domain=%s rmw=%s local=192.168.10.151 peer=192.168.10.164 profile=%s\n' \
|
||||||
|
"${ROS_DOMAIN_ID}" "${RMW_IMPLEMENTATION}" "${_wsl_dds_profile}"
|
||||||
|
unset _wsl_dds_profile
|
||||||
|
```
|
||||||
|
|
||||||
|
验证结果:
|
||||||
|
|
||||||
|
- `bash -n`:通过。
|
||||||
|
- XML well-formed:通过。
|
||||||
|
- Fast DDS/RMW participant 实际创建:通过,输出 `RMW participant created`。
|
||||||
|
- 环境摘要:Domain `22`、RMW `rmw_fastrtps_cpp`、本地 DDS 地址 `.151`、peer `.164`。
|
||||||
|
- WSL 提交命令在工具等待窗口内没有返回,但后台提交随后正常完成;复核 commit `b8840ec9` 只包含两个批准的配置文件,原有 `.vscode` 暂存内容未进入该提交。
|
||||||
|
|||||||
Reference in New Issue
Block a user