38 lines
1.8 KiB
C#
38 lines
1.8 KiB
C#
namespace RobotNet10.GlobalPathPlanner;
|
|
|
|
/// <summary>
|
|
/// Factory interface for creating path planner instances optimized for different robot types.
|
|
/// Each planner type uses algorithms and strategies tailored to the specific kinematics and constraints of the robot.
|
|
/// </summary>
|
|
public interface IPathPlannerFactory
|
|
{
|
|
/// <summary>
|
|
/// Creates a path planner optimized for differential drive robots.
|
|
/// Differential drive robots have two independently driven wheels on a common axis.
|
|
/// </summary>
|
|
/// <returns>An instance of <see cref="IPathPlanner"/> configured for differential drive robots.</returns>
|
|
IPathPlanner CreateDifferentialPlanner();
|
|
|
|
/// <summary>
|
|
/// Creates a path planner optimized for forklift robots (version 1).
|
|
/// Forklift robots have specific constraints related to their lifting mechanism and turning radius.
|
|
/// </summary>
|
|
/// <returns>An instance of <see cref="IPathPlanner"/> configured for forklift robots.</returns>
|
|
IPathPlanner CreateForkliftPlanner();
|
|
|
|
/// <summary>
|
|
/// Creates an enhanced path planner optimized for forklift robots (version 2).
|
|
/// This version uses improved algorithms (SSE A*) for better performance and path quality.
|
|
/// </summary>
|
|
/// <returns>An instance of <see cref="IPathPlanner"/> configured for forklift robots with enhanced algorithms.</returns>
|
|
IPathPlanner CreateForkliftPlannerV2();
|
|
|
|
/// <summary>
|
|
/// Creates a path planner optimized for omni-directional drive robots.
|
|
/// Omni-drive robots can move in any direction without changing orientation.
|
|
/// Note: Currently uses the same planner as differential drive.
|
|
/// </summary>
|
|
/// <returns>An instance of <see cref="IPathPlanner"/> configured for omni-directional drive robots.</returns>
|
|
IPathPlanner CreateOmniDrivePlanner();
|
|
}
|