Files
Denso/srcs/RobotNet10/RobotApp/RobotNet10.RobotApp/Interfaces/INavigation.cs
2026-07-03 16:31:37 +07:00

48 lines
1.2 KiB
C#

using RobotNet.VDA5050.Order;
using RobotNet10.RobotApp.Detection;
using RobotNet10.RobotApp.Shared.Enums;
namespace RobotNet10.RobotApp.Interfaces;
public enum NavigationState
{
None,
Idle,
Initializing,
Waiting,
Moving,
Rotating,
Docking,
FinePositioning,
MovingStraight,
Completed,
Canceled,
Paused,
Error,
SafetyStop
}
public interface INavigation
{
event Action<NavigationState>? OnNavigationFinished;
bool IsReady { get; }
bool Driving { get; }
double VelocityX { get; }
double VelocityY { get; }
double Omega { get; }
NavigationState State { get; }
void Move(OrderMsg order, bool hasLoad = false);
void MoveStraight(double x, double y, bool hasLoad = false, RobotDirection? direction = null);
void Rotate(double angle);
void DockTo(IDetectSession session, bool hasLoad = false, RobotDirection? direction = null);
void Pause();
void Resume();
void UpdateOrder(string lastBaseNodeId);
void RefreshOrder(Node[] nodes, Edge[] edges);
void Refresh();
void SafetyStop();
void CancelMovement();
void SetSpeed(double speed);
void Start();
void Stop();
}