ywb
|
80a4beabcf
|
fix: ROS_DOMAIN_ID 1 (AGV bringup uses domain 1, not 0)
|
2026-05-17 09:06:43 +08:00 |
|
ywb
|
e6a8d495f7
|
可导航
|
2026-05-16 22:58:04 +08:00 |
|
ywb
|
4e3cb4d3ef
|
Nav2导航 heredoc pipe方式修复 + 重启脚本更新
nav2_navigator.py: 改用 subprocess.Popen + stdin heredoc 避免bash单引号转义
restart_agv.sh: 清理所有旧进程再重启(bringup → Nav2 → Flask)
app.py: init_pose改用 heredoc 子进程脚本方式
|
2026-05-16 19:18:18 +08:00 |
|
ywb
|
924f9f3be6
|
fix: get_position返回缓存位置防止odom无数据时整体失败;map_navigator ROS_DOMAIN_ID=1
|
2026-05-16 01:26:51 +08:00 |
|
ywb
|
1dc439dc8e
|
fix: AGV位置读取失败 - ROS_DOMAIN_ID环境变量缺失、odom输出管道错误、ANSI转义序列未清理
问题根因:
1. ros2 daemon默认运行在domain 0,AGV节点在domain 1,导致无法通信
2. _run_ros2_cmd通过daemon通信,daemon忽略了shell的ROS_DOMAIN_ID环境变量
3. 修复: 在bash -c内联设置export ROS_DOMAIN_ID=1
4. 修复: 所有ros2 topic echo命令添加--once参数确保只输出一次后退出
5. 修复: 清理ANSI转义序列(\x1b)和RTPS错误信息前缀,避免YAML解析失败
6. 修复: 添加source /opt/ros/humble/setup.bash确保ros2命令可用
7. 修复: get_position和get_battery统一使用_run_ros2_cmd而非独立subprocess调用
|
2026-05-15 23:44:21 +08:00 |
|
ywb
|
94c1043f4d
|
init
|
2026-05-14 21:43:35 +08:00 |
|