From 9b8e2e233ae91b04f4ae694402d4d9f25c7bfd0c Mon Sep 17 00:00:00 2001 From: ywb <347742090@qq.com> Date: Tue, 26 May 2026 18:23:21 +0800 Subject: [PATCH] =?UTF-8?q?=E7=82=B9=E5=87=BB=E2=80=9C=E8=AE=BE=E7=BD=AE?= =?UTF-8?q?=E2=80=9D=E7=9A=84=E6=97=B6=E5=80=99=EF=BC=8C=E2=80=9C=E8=BF=90?= =?UTF-8?q?=E8=A1=8C=E2=80=9D=E4=B9=9F=E5=A4=84=E4=BA=8E=E9=80=89=E4=B8=AD?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E3=80=82=20=E4=BB=BB=E5=8A=A1=E9=85=8D?= =?UTF-8?q?=E7=BD=AE->=E6=9C=BA=E6=A2=B0=E8=87=82=E5=88=9D=E5=A7=8B?= =?UTF-8?q?=E5=A7=BF=E6=80=81=20=E5=8A=A0=E5=85=A5=E2=80=9C=E5=BA=94?= =?UTF-8?q?=E7=94=A8=E5=BD=93=E5=89=8D=E5=A7=BF=E6=80=81=E2=80=9D=E6=8C=89?= =?UTF-8?q?=E9=92=AE=E3=80=82=E7=82=B9=E5=87=BB=EF=BC=8C=E6=8A=8A=E6=9C=BA?= =?UTF-8?q?=E6=A2=B0=E8=87=82=E8=B0=83=E6=95=B4=E4=B8=BA=E8=AF=A5=E5=A7=BF?= =?UTF-8?q?=E6=80=81=E3=80=82=20=E4=BB=BB=E5=8A=A1=E9=85=8D=E7=BD=AE->?= =?UTF-8?q?=E7=BD=91=E6=A0=BC=E9=85=8D=E7=BD=AE=20=E6=9C=AC=E6=9D=A5?= =?UTF-8?q?=E7=82=B9=E4=BD=8D=E8=A1=8C3=E5=B7=B2=E7=BB=8F=E8=AE=BE?= =?UTF-8?q?=E7=BD=AE=E5=A5=BD=E4=BA=86=E6=95=B0=E6=8D=AE=EF=BC=8C=E4=BD=86?= =?UTF-8?q?=E7=8E=B0=E5=9C=A8=E6=B2=A1=E6=9C=89=E4=BA=86=E3=80=82=20?= =?UTF-8?q?=E6=9C=BA=E6=A2=B0=E8=87=82=E7=9A=84IP=E5=9C=B0=E5=9D=80?= =?UTF-8?q?=E6=8D=A2=E5=88=B0=E4=BA=86192.168.50.89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- agv_app/app.py | 4 ++-- agv_app/config.py | 6 +++--- agv_app/static/js/setting.js | 33 +++++++++++++++++++++++++++++++ agv_app/templates/setting.html | 6 ++++-- agv_app/utils/config.py | 4 ++-- agv_app/utils/mission_executor.py | 2 +- 6 files changed, 45 insertions(+), 10 deletions(-) diff --git a/agv_app/app.py b/agv_app/app.py index a8728fd..7b4b2a3 100644 --- a/agv_app/app.py +++ b/agv_app/app.py @@ -747,10 +747,10 @@ def api_mission_config_set(): gs.mission_config["cols"] = cols gs.mission_config["grid"] = grid gs.mission_config["arm_initial_pose"] = arm_initial_pose - # 清除超出网格边界的 positions(只保留 front/back 且 row { this.mapMsg = '' }, 3000) + }, async clearPoint() { if (!this.editingPoint) return const { pointRow, col } = this.editingPoint @@ -581,6 +600,20 @@ createApp({ } } catch (e) { alert('读取角度失败: ' + e.message) } }, + async applyArmInitialPose() { + if (!this.armConnected) { alert('机械臂未连接'); return } + if (!confirm('确认应用初始姿态到机械臂?')) return + try { + const res = await fetch(API + '/api/arm/set_angles', { + method: 'POST', + headers: { 'Content-Type': 'application/json' }, + body: JSON.stringify({ angles: this.armInitialPose, speed: 500 }) + }) + const data = await res.json() + if (data.ok) alert('✅ 机械臂已移动到初始姿态') + else alert('❌ 应用失败: ' + (data.error || '')) + } catch (e) { alert('应用失败: ' + e.message) } + }, async loadAllMachines() { try { const res = await fetch(API + '/api/mission/machines') diff --git a/agv_app/templates/setting.html b/agv_app/templates/setting.html index 907f3f5..58e1d21 100644 --- a/agv_app/templates/setting.html +++ b/agv_app/templates/setting.html @@ -12,7 +12,7 @@ @@ -268,6 +268,7 @@ + @@ -362,6 +363,7 @@
+
@@ -582,6 +584,6 @@ - + diff --git a/agv_app/utils/config.py b/agv_app/utils/config.py index 631f823..505e1b7 100644 --- a/agv_app/utils/config.py +++ b/agv_app/utils/config.py @@ -16,7 +16,7 @@ AGV_CONFIG = { # ========== 机械臂 TCP 客户端 ========== ARM_CONFIG = { - "host": "192.168.50.74", + "host": "192.168.50.89", "port": 5002, "timeout": 8, "retry_times": 3, @@ -39,7 +39,7 @@ CAMERA_CONFIG = { # ========== 机械臂摄像头流 ========== ARM_CAMERA_CONFIG = { - "url": "http://192.168.50.74:5003/api/camera/preview", + "url": "http://192.168.50.89:5003/api/camera/preview", } # ========== HTTP 上传 ========== diff --git a/agv_app/utils/mission_executor.py b/agv_app/utils/mission_executor.py index 1c410fa..6e3c99a 100644 --- a/agv_app/utils/mission_executor.py +++ b/agv_app/utils/mission_executor.py @@ -26,7 +26,7 @@ import numpy as np logger = logging.getLogger(__name__) ROS2_SETUP_CMD = "source /opt/ros/humble/setup.bash && source ~/agv_pro_ros2/install/setup.bash" -ARM_CAMERA_SNAPSHOT = "http://192.168.50.74:5003/api/camera/snapshot" +ARM_CAMERA_SNAPSHOT = "http://192.168.50.89:5003/api/camera/snapshot" PHOTOS_DIR = "/home/elephant/photos" # 二维码扫描重试参数