ywb
|
f2130acfaa
|
start_all.sh: 增加 Nav2 导航启动步骤
|
2026-05-16 10:49:31 +08:00 |
|
ywb
|
2bb8dff4e2
|
Nav2 导航集成:新增 nav2_navigator.py,mission_executor 改用 Nav2 action 导航
- 新增 agv_app/utils/nav2_navigator.py:Nav2Navigator 类,通过 ros2 action
/navigate_to_pose 和 /navigate_through_poses 与 Nav2 通信,支持路径点导航
- app.py:navigate/to, navigate/path, navigate/status 三个 API 改用 Nav2Navigator
- mission_executor.py:_execute_point 中调用 _nav2_go_to_point() 替代原来的
time.sleep 模拟移动,Nav2 负责从当前点到目标点的自主导航
- 原有的 map_navigator.py(A* + Pure Pursuit 自实现)保留不动,供无 Nav2 时降级用
|
2026-05-16 10:23:17 +08:00 |
|
ywb
|
924f9f3be6
|
fix: get_position返回缓存位置防止odom无数据时整体失败;map_navigator ROS_DOMAIN_ID=1
|
2026-05-16 01:26:51 +08:00 |
|
ywb
|
368cfd58b0
|
fix: 修改网格尺寸时自动清除超边界positions - 只保留front/back且在rows×cols范围内
|
2026-05-16 00:05:19 +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
|
03a6e87730
|
去掉setting log
|
2026-05-15 21:30:33 +08:00 |
|
ywb
|
1dbcdd44c3
|
机型配置
|
2026-05-15 08:35:26 +08:00 |
|
ywb
|
e14ee07a84
|
机型配置
|
2026-05-14 22:53:06 +08:00 |
|
ywb
|
fdb88b21a1
|
增加机型配置
|
2026-05-14 22:22:30 +08:00 |
|
ywb
|
94c1043f4d
|
init
|
2026-05-14 21:43:35 +08:00 |
|