From 14b967f8890e7424ef374c525d09628a93a2b376 Mon Sep 17 00:00:00 2001 From: "ruifeng.zhou" Date: Mon, 29 Jun 2026 22:08:55 +0800 Subject: [PATCH] update --- MultiWheel/MultiWheelC/AGV.cs | 19 ------- .../MovementTests.TireFollowing.cs | 37 -------------- MultiWheel/MultiWheelC/Movements.cs | 50 ------------------- MultiWheel/MultiWheelC/MultiWheelC.csproj | 2 - MultiWheel/MultiWheelC/PilotConfig.cs | 9 ---- MultiWheel/MultiWheelC/PilotDefinition.cs | 17 ------- 6 files changed, 134 deletions(-) diff --git a/MultiWheel/MultiWheelC/AGV.cs b/MultiWheel/MultiWheelC/AGV.cs index 106eda9..5413d17 100644 --- a/MultiWheel/MultiWheelC/AGV.cs +++ b/MultiWheel/MultiWheelC/AGV.cs @@ -5,8 +5,6 @@ using MDCSToolBox.Clumsy.MotionControllers; using MDCSToolBox.Clumsy.Tracks; using MDCSToolBox.Commons.Controllers; using Newtonsoft.Json; -using OpenCvSharp.Dnn; -using OpenCvSharp.XFeatures2D; using System; using System.Collections.Generic; using System.Net.Http; @@ -14,7 +12,6 @@ using System.Numerics; using System.Threading; using System.Threading.Tasks; using static ClumsyCore.DTools.Painter; -using static OpenCvSharp.ConnectedComponents; namespace MultiWheelC { @@ -213,22 +210,6 @@ namespace MultiWheelC DLog.Log("驱动器下使能完成", "TireFollowing"); } - //夹抱 close为true时夹抱,否则为还原 - public void ClamptoTarget(bool close) - { - if (PilotDefinition.Self.GhostMode) - { - Thread.Sleep(2000); - Console.WriteLine("夹抱完成"); - return; - } - new DriveTask(new ClampToTarget() - { - LeftClampTarget = close ? PilotDefinition.Self.LeftArmUpperPos : PilotDefinition.Self.LeftArmLowerPos, - RightClampTarget = close ? PilotDefinition.Self.RightArmUpperPos : PilotDefinition.Self.RightArmLowerPos - }.Get()).Wait(); - } - public void LineTracking(int srcId, int dstId, float LineDistance) { while (!TryLock(dstId)) diff --git a/MultiWheel/MultiWheelC/MovementTests.TireFollowing.cs b/MultiWheel/MultiWheelC/MovementTests.TireFollowing.cs index f3693ac..abcbdae 100644 --- a/MultiWheel/MultiWheelC/MovementTests.TireFollowing.cs +++ b/MultiWheel/MultiWheelC/MovementTests.TireFollowing.cs @@ -11,7 +11,6 @@ using FundamentalLib; using MDCSToolBox.Clumsy.Calibration; using MDCSToolBox.Clumsy.Tracks; using MDCSToolBox.Commons.Controllers; -using OpenCvSharp.Dnn; using System; using System.Collections.Generic; using System.Drawing; @@ -211,42 +210,6 @@ namespace MultiWheelC private DriveTask _dt; } - [MovementTest(name = "鎶卞す鍏抽棴")] - public class ClampTest1 : MovementTest - { - public override void TestStop() - { - throw new NotImplementedException(); - } - - public override void Test() - { - new DriveTask(new ClampToTarget() - { - LeftClampTarget = PilotDefinition.Self.LeftArmUpperPos, - RightClampTarget = PilotDefinition.Self.RightArmUpperPos - }.Get()).Wait(); - } - } - - [MovementTest(name = "鎶卞す鎵撳紑")] - public class ClampTest2 : MovementTest - { - public override void TestStop() - { - throw new NotImplementedException(); - } - - public override void Test() - { - new DriveTask(new ClampToTarget() - { - LeftClampTarget = PilotDefinition.Self.LeftArmLowerPos, - RightClampTarget = PilotDefinition.Self.RightArmLowerPos - }.Get()).Wait(); - } - } - [MovementTest(name = "娴嬭瘯鍓嶈繘鍩轰簬杞噷绋")] public class LineTrackingTest : MovementTest { diff --git a/MultiWheel/MultiWheelC/Movements.cs b/MultiWheel/MultiWheelC/Movements.cs index 06d84d5..f5c687a 100644 --- a/MultiWheel/MultiWheelC/Movements.cs +++ b/MultiWheel/MultiWheelC/Movements.cs @@ -16,7 +16,6 @@ using MDCSToolBox.Clumsy.Tracks; using MDCSToolBox.Commons; using MDCSToolBox.Commons.Controllers; using Newtonsoft.Json; -using OpenCvSharp.Dnn; using System; using System.Collections.Generic; using System.Drawing; @@ -74,55 +73,6 @@ namespace MultiWheelC } - public class ClampToTarget : MovementDefinition - { - public float LeftClampTarget; - public float RightClampTarget; - - public float MaxClampSpeed = PilotDefinition.Conf.MaxClampSpeed; - public float ClampKp = PilotDefinition.Conf.ClampControlKp; - public float ClampKi = PilotDefinition.Conf.ClampControlKi; - public float ClampKd = PilotDefinition.Conf.ClampControlKd; - public float ClampDeadZone = PilotDefinition.Conf.ClampControlDeadZone; - private PIDController leftpid, rightpid; - - public override IEnumerable Get() - { - leftpid = new PIDController(() => PilotDefinition.Self.ActualPosLeftArm, ClampKp, ClampKi, ClampKd, 0, - ClampDeadZone, MaxClampSpeed) - { SpeedAccPerSec = MaxClampSpeed / 2f }; - - rightpid = new PIDController(() => PilotDefinition.Self.ActualPosRightArm, ClampKp, ClampKi, ClampKd, 0, - ClampDeadZone, MaxClampSpeed) - { SpeedAccPerSec = MaxClampSpeed / 2f }; - - while (true) - { - var leftspeed = leftpid.GetResponse(LeftClampTarget); - var rightspeed = rightpid.GetResponse(RightClampTarget); - Console.WriteLine($"left arm speed:{leftspeed} right arm speed:{rightspeed}"); - PilotDefinition.Self.SpeedLeftArm = leftspeed; - PilotDefinition.Self.SpeedRightArm = rightspeed; - if (leftpid.IsArrived()) PilotDefinition.Self.SpeedLeftArm = 0; - if (rightpid.IsArrived()) PilotDefinition.Self.SpeedRightArm = 0; - //if(Math.Abs(PilotDefinition.Self.LeftArmActualPos - PilotDefinition.Self.RightArmActualPos) > PilotDefinition.Conf.ClampOutOfSyncThr) - //{ - // PilotDefinition.Self.ClampOutOfSync = true; - // Console.WriteLine($"宸﹀す鑷備綅缃畕PilotDefinition.Self.LeftArmActualPos} 鍙冲す鑷備綅缃畕PilotDefinition.Self.RightArmActualPos}"); - // Console.WriteLine($"涓や釜澶硅噦鐨勪綅缃樊浜唟Math.Abs(PilotDefinition.Self.LeftArmActualPos - PilotDefinition.Self.RightArmActualPos)}"); - // break; - //} - - if (leftpid.IsArrived() && rightpid.IsArrived()) break; - yield return true; - } - - PilotDefinition.Self.SpeedLeftArm = 0; - PilotDefinition.Self.SpeedRightArm = 0; - Console.WriteLine($"left clamp to target:{LeftClampTarget} right clamp to target:{RightClampTarget}"); - } - } - public class Sleep : MovementDefinition { public float Second = 2; diff --git a/MultiWheel/MultiWheelC/MultiWheelC.csproj b/MultiWheel/MultiWheelC/MultiWheelC.csproj index 8962a0d..a279414 100644 --- a/MultiWheel/MultiWheelC/MultiWheelC.csproj +++ b/MultiWheel/MultiWheelC/MultiWheelC.csproj @@ -10,8 +10,6 @@ - - diff --git a/MultiWheel/MultiWheelC/PilotConfig.cs b/MultiWheel/MultiWheelC/PilotConfig.cs index 9e458d9..1ec705d 100644 --- a/MultiWheel/MultiWheelC/PilotConfig.cs +++ b/MultiWheel/MultiWheelC/PilotConfig.cs @@ -230,15 +230,6 @@ public class PilotConfig : MultiWheelPilotConfig [FieldMember(desc = "杞儙璇嗗埆:鍚庨浄杈惧弬鏁")] public int TireBackTwoLegSgnDir = 1; [FieldMember(desc = "杞儙璇嗗埆:鍚庨浄杈惧弬鏁")] public float TireBackTwoLegCenterChangeX = 0; - [FieldMember(desc = "鎶卞す鎺у埗pid:Kp")] public float ClampControlKp = 0.1f; - [FieldMember(desc = "鎶卞す鎺у埗pid:Ki")] public float ClampControlKi = 0f; - [FieldMember(desc = "鎶卞す鎺у埗pid:Kd")] public float ClampControlKd = 0f; - [FieldMember(desc = "鎶卞す鎺у埗pid:MaxI")] public float ClampControlMaxI = 0f; - [FieldMember(desc = "鎶卞す鎺у埗pid:Acc")] public float ClampControlSpeedAcc = 1f; - [FieldMember(desc = "鎶卞す鎺у埗pid:Thresh")] public float ClampControlThresh = 0.2f; - [FieldMember(desc = "鎶卞す鎺у埗pid:DeadZone")] public float ClampControlDeadZone = 5f; - [FieldMember(desc = "鎶卞す鏈澶ч熷害")] public float MaxClampSpeed = 1.5f; - [FieldMember(desc = "鐩寸嚎琛岃蛋璺濈")] public float LineTrackDistance = 1000f; [FieldMember(desc = "鐩寸嚎琛岃蛋鏈澶ч熷害")] public float LineTrackMaxSpeed = 0.3f; [FieldMember(desc = "鐩寸嚎琛岃蛋Kp")] public float LineTrackKp = 0.2f; diff --git a/MultiWheel/MultiWheelC/PilotDefinition.cs b/MultiWheel/MultiWheelC/PilotDefinition.cs index 50bbb5d..9170199 100644 --- a/MultiWheel/MultiWheelC/PilotDefinition.cs +++ b/MultiWheel/MultiWheelC/PilotDefinition.cs @@ -100,18 +100,6 @@ public class PilotDefinition : MultiWheelPilotDefinition