Initial commit
This commit is contained in:
@@ -0,0 +1,98 @@
|
||||
using RobotNet.VDA5050.InstantAction;
|
||||
using RobotNet.VDA5050.Order;
|
||||
using RobotNet10.FleetManager.Script;
|
||||
using RobotNet10.FleetManager.Services.RobotManager.Models;
|
||||
using RobotNet10.Shared;
|
||||
using Action = RobotNet.VDA5050.InstantAction.Action;
|
||||
|
||||
namespace RobotNet10.FleetManager.Services.RobotController;
|
||||
|
||||
/// <summary>
|
||||
/// Interface for RobotController - instance per robot
|
||||
/// </summary>
|
||||
public interface IRobotController : IDisposable
|
||||
{
|
||||
/// <summary>
|
||||
/// Robot ID (SerialNumber)
|
||||
/// </summary>
|
||||
string RobotId { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Robot data containing all robot information
|
||||
/// </summary>
|
||||
RobotData Data { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Whether robot is online (derived from ConnectionState)
|
||||
/// </summary>
|
||||
bool IsOnline { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Whether the robot is ready for the order
|
||||
/// </summary>
|
||||
bool IsReady { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Move robot to a specific node by NodeName
|
||||
/// </summary>
|
||||
Task<MessageResult> MoveToNodeAsync(string nodeName, double? angle, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// Move robot to a specific node by NodeId (string)
|
||||
/// </summary>
|
||||
Task<MessageResult> MoveToNodeByIdAsync(string nodeId, double? angle, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// Move robot to a specific node by NodeId (Guid)
|
||||
/// </summary>
|
||||
Task<MessageResult> MoveToNodeByGuidAsync(Guid nodeId, double? angle, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// Move the robot to a taget action and execute action
|
||||
/// </summary>
|
||||
/// <param name="nodeName"></param>
|
||||
/// <param name="action"></param>
|
||||
/// <param name="cancellationToken"></param>
|
||||
/// <returns></returns>
|
||||
Task<MessageResult> MoveToStationAsync(string nodeName, StationAction action, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// Send a single instant action to robot
|
||||
/// </summary>
|
||||
Task<MessageResult> SendInstantActionAsync(Action action, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// Send order to robot
|
||||
/// </summary>
|
||||
Task<MessageResult> SendOrderAsync(OrderMsg order, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// Send instant actions message to robot
|
||||
/// </summary>
|
||||
Task<MessageResult> SendInstantActionsAsync(InstantActionsMsg instantActions, CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// Request factsheet from robot
|
||||
/// </summary>
|
||||
Task<MessageResult> RequestFactsheetAsync(CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// Request state from robot
|
||||
/// </summary>
|
||||
Task<MessageResult> RequestStateAsync(CancellationToken cancellationToken = default);
|
||||
|
||||
/// <summary>
|
||||
/// Cancel current order
|
||||
/// </summary>
|
||||
Task<MessageResult> CancelOrderAsync(CancellationToken cancellationToken = default);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user