Commit Graph

57 Commits

Author SHA1 Message Date
ywb 4c096a4bd1 可基本执行任务 2026-05-28 13:55:55 +08:00
ywb f507363c34 - 2026-05-28 10:05:48 +08:00
ywb 6ec778dc6d 任务执行 2026-05-28 10:05:40 +08:00
ywb fcf5649d8c 任务开关 2026-05-27 14:49:40 +08:00
ywb c1601c0a85 - 2026-05-27 11:09:06 +08:00
ywb 9b8e2e233a 点击“设置”的时候,“运行”也处于选中状态。
任务配置->机械臂初始姿态 加入“应用当前姿态”按钮。点击,把机械臂调整为该姿态。
任务配置->网格配置 本来点位行3已经设置好了数据,但现在没有了。
机械臂的IP地址换到了192.168.50.89
2026-05-26 18:23:21 +08:00
ywb 05e440319d 地图坐标转换 2026-05-26 16:07:44 +08:00
ywb 9e90b68bf1 坐标问题 2026-05-26 14:26:43 +08:00
ywb c7042b1bba 更换IP地址 2026-05-26 11:34:07 +08:00
ywb df1f8cc319 从AGV加载 2026-05-25 22:09:08 +08:00
ywb 119246ade3 任务执行 2026-05-24 18:26:10 +08:00
ywb d095d68433 运行显示两个摄像头 2026-05-23 19:40:52 +08:00
ywb adcd7e0a2c 执行任务 2026-05-23 16:02:01 +08:00
ywb 6920403035 任务执行 2026-05-23 10:02:19 +08:00
ywb 35d5c3d70e - 2026-05-22 09:04:53 +08:00
ywb 2b627228fb 调整机械臂的速度 2026-05-21 21:28:27 +08:00
ywb 466272cc22 机械臂识别二维码 2026-05-21 20:42:29 +08:00
ywb 457f32919c 机械臂摄像头 2026-05-21 19:44:25 +08:00
ywb 56729c23e8 二维码位置配置 2026-05-21 01:54:13 +08:00
ywb a5aaddc4fc - 2026-05-20 22:15:03 +08:00
ywb a5be69bfaa - 2026-05-20 21:20:34 +08:00
ywb 084faad1b2 加入二维码设置 2026-05-20 20:02:31 +08:00
ywb f05d6ea059 姿态参数 2026-05-19 21:41:14 +08:00
ywb 2eb39fdbd5 使用他们的导航方法 2026-05-19 21:25:41 +08:00
ywb a160c18ba7 导航修复 2026-05-19 15:59:23 +08:00
ywb 50f6d4c295 导航修复 2026-05-18 23:40:14 +08:00
ywb deb97a67c0 初始化位置 2026-05-18 10:14:05 +08:00
ywb a4c8171c42 初始化位置 2026-05-18 09:07:56 +08:00
ywb 0dfd20b17b feat: add stop_all.sh to shutdown all AGV processes 2026-05-18 01:33:23 +08:00
ywb 171090a3d0 deploy: full sync to AGV work directory 2026-05-18 01:30:33 +08:00
ywb 6f876968a9 debug: add console.log in refreshNavStatus to trace nav2 state 2026-05-17 22:32:53 +08:00
ywb 4fd124e4bd fix: add CSS rotate transform to map-container div (was missing, causing no visual rotation) 2026-05-17 21:54:22 +08:00
ywb 8222ff7bae fix: static/js/setting.js - add getPointAt from edee9c4 (was missing), all rotation features now complete 2026-05-17 21:40:48 +08:00
ywb ea4d592ea3 fix: nav2_navigator _get_current_pose uses /amcl_pose (was /odom which is always 0,0) 2026-05-17 10:15:43 +08:00
ywb 5f0fa2e787 feat: auto-reconnect AGV on Flask startup (async, 2s delay) 2026-05-17 09:46:13 +08:00
ywb c3a5af8045 fix: nav2_navigator.py ROS_DOMAIN_ID=1 in script files and all _run_ros2_bash calls 2026-05-17 09:38:11 +08:00
ywb 6a5fce819f feat: map rotation with overlay fix — rotate only img, keep overlay with points + nav click 2026-05-17 09:24:34 +08:00
ywb 4b964b7067 feat: add map rotation controls (90° left/right/reset) in map visualization 2026-05-17 09:10:32 +08:00
ywb 80a4beabcf fix: ROS_DOMAIN_ID 1 (AGV bringup uses domain 1, not 0) 2026-05-17 09:06:43 +08:00
ywb edee9c4445 地图实时显示AGV位置 + 点击地图导航 + Nav2检查修复
- 地图 overlay 新增 AGV 位置橙色脉冲点(动画)
- navCurrentPos 刷新周期:地图 Tab 下每 2 秒刷新
- agv-dot CSS:14px 橙色圆点 + 脉冲动画
- 点击地图直接导航功能(onMapClick)
- onMapClick:修复 img 标签 patch 逻辑(原已生效)
- style.css: 新增 agv-dot 脉冲动画样式
2026-05-16 23:50:09 +08:00
ywb 60331dda2b 点击地图导航 2026-05-16 23:47:02 +08:00
ywb 4348a07744 可以点击地图导航 2026-05-16 23:21:14 +08:00
ywb e6a8d495f7 可导航 2026-05-16 22:58:04 +08:00
ywb 22d38957f1 start_all.sh: 完整重写,确保一键启动所有服务
- 重启 ros2 daemon 清理残留状态
- bringup 启动后等待 /odom 话题出现才算就绪
- Nav2 用 autostart:=True 参数启动
- lifecycle activate 循环检查,最多 10 次
- 全部成功后才启动 Flask
- 完成后打印进程状态、日志路径、常用 API 命令
2026-05-16 19:48:46 +08:00
ywb 8092908f37 start_all.sh: Nav2 启动后自动 configure+activate lifecycle
新增 nav2_navigator heredoc pipe 方式(避免 bash 单引号转义问题)
新增 /tmp/patch_installed_launch.py(自动给 install 目录下的 launch.py 加 autostart=True)
2026-05-16 19:32:03 +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 a9840c38ef Nav2导航 + 初始化位置功能
- nav2_navigator.py: 通过 ros2 action 与 Nav2 通信,修复 YAML 格式(pose 嵌套)
- mission_executor.py: 改用 Nav2 navigate_to_pose action 导航
- app.py: navigate/to 等 API 改用 Nav2Navigator;新增 /api/mission/init_pose
  API,通过子进程调用 rclpy 发布 /initialpose 到 (0,0,0)
- setting.html/js: 任务配置Tab加「初始化位置」按钮

注意:ROS2 daemon (domain=1) 与 Flask 在不同 domain,
Flask 进程内调用 rclpy 会破坏 daemon 状态,需通过子进程调用
2026-05-16 14:22:10 +08:00
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